not to me. < has a very specific meaning, and it means “comes before” in some ordering. of course you are allowed to define anything, but to be useful, you need to define things in a way that makes sense to the reader. you need to build on preexisting knowledge and concepts. and we don’t need to support weird definitions either.
example. how julia knows that * has precedence over +? what if i define * and + for my type in a way that precedence should be the other way. but julia does not provide a way to define my own precedence. for + and * are reserved for use cases that match this concept. so the compiler can simply assume how they behave, because otherwise you would not use these operators.