-- creates a new algebraic datatype called Light, whose possible values are RED, AMBER, and GREEN, who derives from the typeclasses Eq and Show

squares :: Floating a => [a] -> [a]
squares range = [x ** 2 | x <- range]
squares :: Floating a => [a] -> [a]
squares range = [x ** 2 | x <- range]
squares range = [x ** 2 | x <- range]