Rubyの演算子は優先順位が高い順に*、+、>、=なので

m=m*3+1>n

の場合は

m=(m*3+1>n)

と同義になるのは納得がいきます。

しかし、(比較演算子からみて)これと左右を逆にした

n<m=m*3+1

(n<m)=m*3+1

と同義にならず、

n<(m=m*3+1)

と同義になるのは演算子の優先順位からして違和感を覚えます。
優先順位の他に何か規則があるのでしょうか?