@Jehan, Hmm, it seems like I was incorrectly applying UFCS rule. a.f = f a = a f (which is wrong and it's clear to me now)
@mashingan, "echo b, c d, e f g, h" could be compiled as echo (b, c(d, e(f(g,h)))) _or_ (b, c(d, e(f(g), h))) _or_ (b, c(d), e(f(g), h)) ... etc, no? That's what I meant. I know it would confuse the user not the compiler but still..