 			prop = match[1]
 
 			if prop
-				prop = prop.replace PROPS_RE, (str, _, postfix) ->
+				prop = prop.replace PROPS_RE, (str, _, index, allStr) ->
+					postfix = allStr.substr index+str.length, 2
 					prefix = ''
-					postfix ?= ''
 					str = str.replace PROP_RE, (props) ->
 						props = props.split '.'
 						props.shift()

	RE = @RE = new RegExp '([^$]*)\\${([^}]*)}([^$]*)', 'gm'
	VAR_RE = @VAR_RE = ///(^|\s|\[|:|\()([a-zA-Z_$][\w:_]*)+(?!:)///g
	PROP_RE = @PROP_RE = ///(\.[a-zA-Z_$][a-zA-Z0-9_$]*)+///
	PROPS_RE = @PROPS_RE = ///[a-zA-Z_$][a-zA-Z0-9_$]*(\.[a-zA-Z_$][a-zA-Z0-9_$]*)+\s*(.{0,2})///g
	CONSTANT_VARS = @CONSTANT_VARS = ['undefined', 'false', 'true', 'null', 'this', 'JSON']

	cache = {}

	toString: do ->
		callFunc = ->
			revertTraces.call @
			@func.call @node, @, Input.get

		->
			try
