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