sig
  val compose :
    ('-> '-> int option) -> ('-> '-> int option) -> '-> '-> int
  val reverse : ('-> '-> int) -> '-> '-> int
  val reversep : ('-> '-> int option) -> '-> '-> int option
  val totalify : ('-> '-> 'c option) -> '-> '-> 'c
end