sig
  val ( |! ) : '-> ('-> 'b) -> 'b
  val const : '-> '-> 'a
  val non : ('-> bool) -> '-> bool
  val forever : (unit -> unit) -> exn
  external ident : '-> 'a = "%identity"
end