Various combinators for functions.
ignore is the same as
Pervasives.ignore. It is useful to have here so that code that rebinds
ignore can still refer to
forever f runs
f () until it throws an exception and returns the exception. This function is useful for read_line loops, etc.
apply_n_times ~n f x is the
n-fold application of