sig
  val ( |> ) : '-> ('-> 'b) -> 'b
  val ( ++ ) : ('-> 'b) -> ('-> 'c) -> '-> 'c
  val finally : (unit -> 'a) -> (unit -> unit) -> 'a
end