12345678910111213141516171819202122232425262728293031(** This module type is accessible as [Stdune.Monad.Basic] outside of [Stdune]. *)moduletypeBasic=sigtype'atvalreturn:'a->'atvalbind:'at->f:('a->'bt)->'btend(** This module type is accessible as just [Stdune.Monad] outside of [Stdune]. *)moduletypeS=sigincludeBasicvalmap:'at->f:('a->'b)->'btmoduleO:sigval(>>|):'at->('a->'b)->'btval(>>=):'at->('a->'bt)->'btval(>>>):unitt->'at->'atval(let+):'at->('a->'b)->'btval(and+):'at->'bt->('a*'b)tval(let*):'at->('a->'bt)->'btval(and*):'at->'bt->('a*'b)tendend