various combinators for functions
A pipe operator, equivalent to |!, but this notation is more broadly accepted
* ignore
is the same as Pervasives.ignore
. It is useful to have here so
* that code that rebinds ignore
can still refer to Fn.ignore
.
forever f
runs f ()
until it throws an exception and returns the
exception. This function is useful for read_line loops, etc.