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