Nothing :: Maybe a
ここで
class (Functor f) => Applicative f where
  (<*>) :: f (a -> b) -> f a -> f b

instance Applicative Maybe
  Nothing <*> _ = Nothing

左辺のNothing が Nothing :: f (a -> b)
右辺のNothing が Nothing :: f b

型ちがくね?