Generic functions for calling S3 generics with function objects, or objects that contain function objects.
In this package, such objects are often labelled, sf, for suitable function.
(They're also often used to represent probability distributions).
In general, it's easier to call the standard generic.
i.e. It's easier to call print() rather than ph.printf().
However, if using the standard generic, it's best not to name the first argument.