`val finally : (unit -> 'a) -> ('b -> 'c) -> 'b -> 'c`
`val with_dispose : dispose:('a -> 'b) -> ('a -> 'c) -> 'a -> 'c`
`val unique_value : int Stdlib.ref`
`val lock : BatConcurrent.lock Stdlib.ref`
`val unique : unit -> int`
`type ('a, 'b) result = ('a, 'b) Stdlib.result =`

1. `| Ok of 'a`
2. `| Error of 'b`

`val ignore_ok : ('a, exn) result -> unit`
`val ok : ('a, exn) result -> 'a`
`val wrap : ('a -> 'b) -> 'a -> ('b, exn) result`
`val forever : ('a -> 'b) -> 'a -> unit`
`val ignore_exceptions : ('a -> 'b) -> 'a -> unit`

## Operators

`val (|>) : 'a -> ('a -> 'b) -> 'b`
`val (@@) : ('a -> 'b) -> 'a -> 'b`
`val (%>) : ('a -> 'b) -> ('b -> 'c) -> 'a -> 'c`
`val (%) : ('a -> 'b) -> ('c -> 'a) -> 'c -> 'b`
`val flip : ('a -> 'b -> 'c) -> 'b -> 'a -> 'c`
`val curry : (('a * 'b) -> 'c) -> 'a -> 'b -> 'c`
`val uncurry : ('a -> 'b -> 'c) -> ('a * 'b) -> 'c`
`val const : 'a -> 'b -> 'a`
`val neg : ('a -> bool) -> 'a -> bool`
`val neg2 : ('a -> 'b -> bool) -> 'a -> 'b -> bool`
`val identity : 'a -> 'a`
`val tap : ('a -> 'b) -> 'a -> 'a`
`val (|?) : 'a option -> 'a -> 'a`