type Region = (Float,Float) -> Bool unitcircle :: Region unitcircle _ = True scale :: Float -> Region -> Region scale s r (x,y) = r (x*s,y*s) union :: Region -> Region -> Region union r1 r2 p = r1 p || r2 p example = union (scale 2.0 unitcircle) unitcircle