import PGF import Arithmetic transfer :: Tree -> Tree transfer = gf . answer . fg answer :: GQuestion -> GAnswer answer (GEven x) = test even x answer (GOdd x) = test odd x answer (GPrime x) = test prime x test :: (Int->Bool) -> GObject -> GAnswer test p (GNumber (GInt x)) = if p x then GYes else GNo prime n = and [n `mod` d /= 0 | d <-[2..n-1]]