M : Core.Monad.S
val subst : ('b, 'e, 'c) t ‑> f:('b ‑> ('b, 'e, 'c) t M.t) ‑> ('b, 'e, 'c) t M.t
val map : ('b, 'e, 'c) t ‑> f:('b ‑> 'b M.t) ‑> ('b, 'e, 'c) t M.t
val specialize : ('b, 'e, 'c) t ‑> f:('b ‑> ('e, 'c) Core.Set.t option M.t) ‑> ('b, 'e, 'c) t M.t
val eval : ('b, 'e, 'c) t ‑> f:('b ‑> ('e, 'c) Core.Set.t M.t) ‑> ('e, 'c) Core.Set.t M.t