f() { foo!.bar![arg]; } f[StringToken]([BeginToken])[SimpleToken] {[BeginToken] foo[StringToken]![SimpleToken].[SimpleToken]bar[StringToken]![SimpleToken][[BeginToken]arg[StringToken]][SimpleToken];[SimpleToken] }[SimpleToken][SimpleToken]