-- |A number is rounded to a quarter, when after removing the integral part
-- it is either 0.0, 0.25, 0.5 or 0.75. 
isQuarter :: (AEq a, RealFrac a) => [a] -> Bool
isQuarter
  = foldr
      (\ x ->
         (&&) ((x - fromIntegral (floor x :: Integer)) 
                `aElem` [0.0, 0.25, 0.5, 0.75]))
      True
isQuarter :: (AEq a, RealFrac a) => [a] -> Bool
isQuarter
  = foldr
      (\ x ->
         (&&) ((x - fromIntegral (floor x :: Integer)) 
                `aElem` [0.0, 0.25, 0.5, 0.75]))
      True
isQuarter
  = foldr
      (\ x ->
         (&&) ((x - fromIntegral (floor x :: Integer)) 
                `aElem` [0.0, 0.25, 0.5, 0.75]))
      True