sig
  type 'base t
  type set
  type 'a result
  val subst :
    'b1 Set_lang_intf.S_eval.t ->
    f:('b1 -> 'b2 Set_lang_intf.S_eval.t Set_lang_intf.S_eval.result) ->
    'b2 Set_lang_intf.S_eval.t Set_lang_intf.S_eval.result
  val map :
    'b1 Set_lang_intf.S_eval.t ->
    f:('b1 -> 'b2 Set_lang_intf.S_eval.result) ->
    'b2 Set_lang_intf.S_eval.t Set_lang_intf.S_eval.result
  val specialize :
    'Set_lang_intf.S_eval.t ->
    f:('-> Set_lang_intf.S_eval.set option Set_lang_intf.S_eval.result) ->
    'Set_lang_intf.S_eval.t Set_lang_intf.S_eval.result
  val eval :
    'Set_lang_intf.S_eval.t ->
    f:('-> Set_lang_intf.S_eval.set Set_lang_intf.S_eval.result) ->
    Set_lang_intf.S_eval.set Set_lang_intf.S_eval.result
end