Как вы произносите эти функции в Applicative typeclass:
(<*>) :: f (a -> b) -> f a -> f b
(*>) :: f a -> f b -> f b
(<*) :: f a -> f b -> f a
(То есть, если они не являются операторами, что они могут быть вызваны?)
В качестве побочного примечания, если бы вы могли переименовать pure
в нечто более дружелюбное к не математикам, что бы вы назвали его?