2) Every arrow a b c is an applicative (a b) c, because comma = (&&&).
Conversely, every applicative that is polymorphic over some "internal"
variable is automatically an arrow, through (&&&) = comma.
Where is the proof that (a b) is a Functor?
Recall that the class method arr -- the closest kin to fmap -- has the type: