We provide a combinator `liftFun` for
* constructor functions that do not take a constraint store or a
unique id,
* deterministic functions that only take a constraint store, and
* non-deterministic functions that only take a unique id.