-- Of course, we want to test that it comes out even for a depth of seven,
-- but GENERALIZATION IS GOOD! Just in case you need a comesOutEvenFor function
-- for your everyday Haskelling tasks.

-- You're welcome.

-- You ... COULD even generalize those 'generalized' guards, but I didn't want
-- to get carried away by generality. By the Admiralty, sure, but not by
-- generality.

-- You'll get that driving home today, I'm sure.

-- and, yes, I do want to generalize the guards:

moduloIs :: Int -> Int -> Int -> Bool
moduloIs m = (== m) <<- mod
moduloIs :: Int -> Int -> Int -> Bool
moduloIs m = (== m) <<- mod
moduloIs m = (== m) <<- mod