Monads and Functors!
not quite F