code: function maybeToAsync(left, maybe) {
    if(isFunction(maybe)) {
      return function(x) {
        const m = maybe(x)
  
        if(!isSameType(Maybe, m)) {
          throw new TypeError('maybeToAsync: Maybe returning function required for second argument')
        }
  
        return applyTransform(left, m)
      }
    }
  
    if(isSameType(Maybe, maybe)) {
      return applyTransform(left, maybe)
    }
  
    throw new TypeError('maybeToAsync: Maybe or Maybe returning function required for second argument')
  }
docs: maybeToAsync : e -> Maybe a -> Async e a maybeToAsync : e -> (a -> Maybe b) -> a -> Async e b