week 10: Functor instance for Parser + tests