Functor definition tests
Applicative definition tests
Refactor definition validation
Either