// The following parentheses should be kept
new (f())();
new (g?.())();

new (f.g?.h)();
new (f?.g.h)();

new (f().g)();
new (f?.().g)();

new (f()?.g)();
new (f?.()?.g)();

new (f()`g`)();

new (import("foo"))();
new (import("foo").bar)();
new (import("foo")`bar`)();

new (super())();
new (super().foo)();
new (super()`foo`)();

// The following outer parentheses can be removed
new (f[g()])();
new ((f?.g).h)();
new (new f())();
