Is there some general rule a exhaustive list documented somewhere what operators are reserved/shall not be redefined? allowed characters: haskell98, UnicodeSyntax, etc... reserved: ->, <-, ::, etc. also, similarly, for data constructor rules: start with ":", etc. what about type families...