Proposal: add the following laws to the documentation of Control.Applicative.Alternative:
empty <*> a = empty
f <*> empty = empty
These laws correspond to the laws given in MonadPlus- if you take mzero = empty and ap = (<*>), the ones in MonadPlus imply these- and I don't think this proposal should be too controversial.