I was recently writing a solution for the ISBN Verifier exercise at Exercism, and when I ran this function through pointfree.io:
\c -> isDigit c || c == 'X'
I got back:
liftM2 (||) isDigit ('X' ==)
Why did pointfree.io choose liftM2
from Control.Monad
instead of liftA2
from Control.Applicative
?