Why WrappedMonad and WrappedArrow?

Pretty much so for WrappedMonad. I guess it is becoming (and perhaps already was) essentially obsolete. But WrappedArrow is more difficult, because Arrow types and Applicative types have different kinds, * -> * -> * vs. * -> *. And because of the way GHC instance resolution works, adding the instance (I assume the extra Arrow was a typo)

instance Arrow a => Applicative (a b)

would mean that no type constructor with two or more arguments could then give an Applicative without also giving an Arrow - that seems rather drastic.

The reverse option of adding a superclass Applicative (a b) => to Arrow a would seem more palatable - except you cannot have superclasses with a forall'ed type like b. Such superclasses would be useful for other things as well, and have been suggested many times, so I assume it is hard to implement well.