Functor protocol, functions, and spot-check helpers - Only the covariant functor, more varieties will follow