Functor Set_lang_intf.S_lang.Make_monadic_eval

module Make_monadic_eval: 
functor (M : Core.Std.Monad.S) -> Set_lang_intf.S_eval with type 'base t := 'base t with type set := set with type 'a result := 'a M.t
Parameters:
M : Core.Std.Monad.S

type 'base t 
type set 
type 'a result 
val subst : 'b1 t ->
f:('b1 -> 'b2 t result) ->
'b2 t result
val map : 'b1 t ->
f:('b1 -> 'b2 result) ->
'b2 t result
val specialize : 'b t ->
f:('b -> set option result) ->
'b t result
val eval : 'b t ->
f:('b -> set result) ->
set result