range :: Int -> Int -> [Int] range a b | a<=b = a:(range (a+1) b) | otherwise = [] range' x y = take (y-x+1) $ iterate (+1) x range'' a b | a==b = [a] | otherwise = a:range'' ((if a