-- this is an example of a list comprehension, whose result represents all the squares of values within a range, and these squares belong to the typeclass Floating; [0..10] is known as a range

notDivisibleByThreeAndFive :: Integral a => p -> [a]
notDivisibleByThreeAndFive range = [x | x <- [0..30], x `mod` 3 /= 0 && x `mod` 5 /= 0]
notDivisibleByThreeAndFive :: Integral a => p -> [a]
notDivisibleByThreeAndFive range = [x | x <- [0..30], x `mod` 3 /= 0 && x `mod` 5 /= 0]
notDivisibleByThreeAndFive range = [x | x <- [0..30], x `mod` 3 /= 0 && x `mod` 5 /= 0]