The problem is backticks mean "turn operators into identifiers" not "turn identifiers into operators" in Nim, unlike Haskell.
The operator behavior is tied to the parser so it is nontrivial, occasionally impossible to make operator behavior depend on things that use semantic checking, which happen after parsing, like function declarations. The best we can do is add more predefined operators (like Julia), however going too far with this can easily cause problems. There is more discussion about this in <https://forum.nim-lang.org/t/8754> but the original post is annoyingly hidden
