foo()
foo ()
foo . call ()
foo_bar()
foo_bar ( )
f42()
_()
$()
ಠ_ಠ()
Ƞȡ_҇()
if(notAFunction)
foo({ x })
foo({ y: fun() })

----------------------------------------------------

[
	["function", "foo"], ["punctuation", "("], ["punctuation", ")"],
	["function", "foo"], ["punctuation", "("], ["punctuation", ")"],
	["function", "foo"], ["punctuation", "."], ["function", "call"], ["punctuation", "("], ["punctuation", ")"],
	["function", "foo_bar"], ["punctuation", "("], ["punctuation", ")"],
	["function", "foo_bar"], ["punctuation", "("], ["punctuation", ")"],
	["function", "f42"], ["punctuation", "("], ["punctuation", ")"],
	["function", "_"], ["punctuation", "("], ["punctuation", ")"],
	["function", "$"], ["punctuation", "("], ["punctuation", ")"],
	["function", "ಠ_ಠ"], ["punctuation", "("], ["punctuation", ")"],
	["function", "Ƞȡ_҇"], ["punctuation", "("], ["punctuation", ")"],
	["keyword", "if"], ["punctuation", "("], "notAFunction", ["punctuation", ")"],
	["function", "foo"], ["punctuation", "("], ["punctuation", "{"], " x ", ["punctuation", "}"], ["punctuation", ")"],
	["function", "foo"], ["punctuation", "("], ["punctuation", "{"], " y", ["operator", ":"], ["function", "fun"], ["punctuation", "("], ["punctuation", ")"], ["punctuation", "}"], ["punctuation", ")"]
]

----------------------------------------------------

Checks for functions. Also checks for unicode characters in identifiers.
