Functores aplicativos como functores monoidales

Como se menciona en Hackage paraFuncionarios Aplicativos, son fuertes functores monoidales laxos. Entonces, ¿por qué su definición en Haskell no lo muestra así?

class Functor f => MonoidalApplicative f where
  mult :: f a -> f b -> f (a,b)
  unit :: a -> f a 

  starAp :: f (a -> b) -> f a -> f b
  starAp h x = fmap (uncurry ($)) (mult h x)

<*> (starAp) se reconstruye fácilmente en términos de multiplicación y esta definición me parece más simple. Por ejemplo, aquí está la instancia de Maybe:

instance MonoidalApplicative Maybe where
  mult (Just x) (Just y) = Just (x,y)
  mult _ _ = Nothing

  unit x = Just x

Respuestas a la pregunta(1)

Su respuesta a la pregunta