Made static instances  for Functor and Applicative. Reduced reader to a ->b form.