@override Either<Exception, B> lift<A, B>( Either<Exception, B Function(A)> fn, Either<Exception, A> a) => fn.bind<B>((fn) => a.fmap((a) => fn(a)));