Its not counter intuitive. Just not the way many might be used from C where such assignement chains work like assignements, not like "comparision assignement"
Due to the (thankfully) missing = == === stuff, it can be misinterpreted.
What happens is:
a=b=c=d -> a=(b=(c=d))
Due to the (thankfully) missing = == === stuff, it can be misinterpreted.
What happens is:
a=b=c=d -> a=(b=(c=d))