== と != はオーバーロード不可の参照比較「専用」として(右辺左辺どちらかが値型ならエラー)、

比較演算子は、

operater = :(A, B: SAMETYPE) -> Integer

か

operater = :(A, B: SAMETYPE) -> Boolean

のどちらかの形で定義し、
上のときは = > < >= <= /= が使えるようになり、
下のときは = /= だけが使えるようになる。ダメですか?

代入は、<- または := がいいと思います。