code: function alt(m, x) {
    if(!(isAlt(m) && isSameType(m, x))) {
      throw new TypeError(
        'alt: Both arguments must be Alts of the same type'
      )
    }
  
    return (x[fl.alt] || x.alt).call(x, m)
  }
docs: alt : Alt m => m a -> m a -> m a