We want to retire Function and replace it with strong types.
For some classes, this means migration to the beast.base.spec namespace, but they also hang around in more fundamental classes like Distribution. For these last kind of classes, we can add strong types, and (over time) remove the Function implementation.