Cleanup of the Func interface to support introspection on multi-valued funcs.
Lowering wasn't finding functions that only appear in the bounds of a
reduction.

Function calls in those places don't work very well (they fail instantly
for bounds inference), but you can wrap them in a clamp, so we should
include them.