sig
  val const : '-> '-> 'a
  val id : '-> 'a
  val flip : ('-> '-> 'c) -> '-> '-> 'c
  val curry : ('a * '-> 'c) -> '-> '-> 'c
  val uncurry : ('-> '-> 'c) -> 'a * '-> 'c
  val res0 : ('-> 'b) -> '-> 'b
  val res1 : ('-> 'b) -> ('-> 'a) -> '-> 'b
  val res2 : ('-> 'b) -> ('-> '-> 'a) -> '-> '-> 'b
  val res3 : ('-> 'b) -> ('-> '-> '-> 'a) -> '-> '-> '-> 'b
  val res4 :
    ('-> 'b) -> ('-> '-> '-> '-> 'a) -> '-> '-> '-> '-> 'b
  val res5 :
    ('-> 'b) ->
    ('-> '-> '-> '-> '-> 'a) -> '-> '-> '-> '-> '-> 'b
  val res6 :
    ('-> 'b) ->
    ('-> '-> '-> '-> '-> '-> 'a) ->
    '-> '-> '-> '-> '-> '-> 'b
  val res7 :
    ('-> 'b) ->
    ('-> '-> '-> '-> '-> '-> '-> 'a) ->
    '-> '-> '-> '-> '-> '-> '-> 'b
  val res8 :
    ('-> 'b) ->
    ('-> '-> '-> '-> '-> '-> '-> '-> 'a) ->
    '-> '-> '-> '-> '-> '-> '-> '-> 'b
  val res9 :
    ('-> 'b) ->
    ('-> '-> '-> '-> '-> '-> '-> '-> '-> 'a) ->
    '-> '-> '-> '-> '-> '-> '-> '-> '-> 'b
  val opres : ('-> '-> 'c) -> ('-> 'a) -> ('-> 'b) -> '-> 'c
  val opon : ('-> '-> 'b) -> ('-> 'a) -> '-> '-> 'b
  val ( -< ) : ('-> 'b) -> ('-> 'a) -> '-> 'b
  val ( >- ) : ('-> 'b) -> ('-> 'c) -> '-> 'c
  val ( >>. ) : ('-> 'b) -> ('-> 'c) -> '-> 'c
  val ( &&. ) : ('-> bool) -> ('-> bool) -> '-> bool
  type ('a, 'b) iso = { fwd : '-> 'b; bck : '-> 'a; }
  val iso_id : ('a, 'a) Generic_util_fun.iso
  val in_range : '-> 'a * '-> bool
end