Fix Applicative to have same semantics as Monad