Add Functor instances for Optional, Array, Dictionary, ((->) r)