9
take :: Int -> [a] -> [a]
genericTake :: Integral i => i -> [a] -> [a]
I have read that the inconvenient type of take is due to historical reasons, and that changing it could cause some code to break.
But can't I replace take with genericTake everywhere without breaking anything? What's the problem?