January 1, 0001 One-minute readprotocol Monad<M<_>> { static func pure<A>(_ value: A) -> M<A> static func flatMap<A, B>(_ ma: M<A>, _ f: (A) -> M<B>) -> M<B> }