Rewrite rules should be able to produce custom compiler errors
It would be nice if rewrite rules could produce compiler errors with custom messages when a certain combination of functions can only produce bottom or some other suitably undesirable outcome.
length . cycle is either never going to terminate or is going to give an error message (e.g., if the input list is empty). It would be nice to be able to tell the programmer that at compile time.