Also note that these are all imported into the top-level interface.  Users don't see the distinction.  Developers do.

I think there is a cost to adding functions into core.py.  I'd like to eventually transition a lot of the functions in core out of core.  For example the `first, last, second` family takes up a lot of mind-space despite largely being partial evaluations of `nth`