Fail_With() turns a function that throws an error into a function
that returns a default value when there is an error. The essence of
Fail_With() is simple: it is just a wrapper around try(),
the function that captures errors and allows execution to continue.
Fail_With(.default = NULL, .f, .silent = FALSE)Compose,
%O%; Memoise;
Partial; Reduce_Right