Implementation of Functor

Following the instructions for the course, I'm going to do these in the
order that is recommended/specified.
Implementation of Apply

Taking the implementation of Functor and improves on it.