public map<S2>(fn: (result: S) => S2): Task<E, S2> {
    return map(fn, this)
  }