module type S_eval =sig
..end
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