New infrastructure for handling special (non-linear) units
Rename FunctionPair to Function.