public static <M extends Monad<?, M>, A> MaybeT<M, A> maybeT(Monad<Maybe<A>, M> mma) {
        return new MaybeT<>(mma);
    }
public static < M extends Monad < ? , M > , A > MaybeT < M , A > maybeT ( Monad < Maybe < A > , M > mma ) { return new MaybeT < > ( mma ) ; }
Static factory method for lifting a <code>{@link Monad}&lt;{@link Maybe}&lt;A&gt;, M&gt;</code> into a
{@link MaybeT}.

@param mma the {@link Monad}&lt;{@link Maybe}&lt;A&gt;, M&gt;
@param <M> the outer {@link Monad} unification parameter
@param <A> the carrier type
@return the {@link MaybeT}