in reply to two + 2 not equal 4!

So, two + 2 is interpreted as two(2).

And that's because the following are all the same:

two + 2 two +2 two(+2) two(2)

Omitting parens around arguments can lead to weird problems. You've encountered one. You can disambiguate as follows:

two() + 2 (two) + 2

You could also add a prototype to two.