f() { (obj!)[arg]; } f[StringToken]([BeginToken])[SimpleToken] {[BeginToken] ([BeginToken]obj[StringToken]![SimpleToken])[SimpleToken][[BeginToken]arg[StringToken]][SimpleToken];[SimpleToken] }[SimpleToken][SimpleToken]