moving some of the regexpes creations out of their for loops
adding a small test
based on Guy's example, avoids that the last argument before a function chaining, if it's a function invokation, also captures the chaining as its last argument. Clearer if you look at the examples in the description.

input:
	 a = (val) -> val * 2
	 rotate 3, a 2 box 3, 4, a 1

expected:
	 a = (val) -> val * 2
	 rotate 3, (a 2), -> box 3, 4, a 1

instead of:
	 a = (val) -> val * 2
	 rotate 3, a (2, -> box 3, 4, a 1)