Future doesn't suck like Promise
The broken Promise API allows you to then without handling errors
 // uh, what happens if there's a problem ?
 myPromise .then (console.log)
 // proper use, but nothing forces you to specify 2nd argument
 myPromise .then (console.log, console.error)
Of course you could .catch, but people often forget about that too – Future doesn't have these problems ...
Future forces you to specify the error path by making that the first parameter – in both the executor and the fork'ing function
const f1 = (...xs) =>
  Future.of (xs)
const f2 = (x, y) =>
  Future ((reject, resolve) => // REJECT comes first
    resolve (x + y))
const f3 = x =>
  Future.of (`${x} !!!`)
const myFuture =
  pipeK (f1, apply (f2), f3)
    ("hello", "world")
               // ERROR path first
myFuture.fork (console.error, console.log)
// logs: "helloworld !!!"
// returns: undefined