[1] https://github.com/microsoft/TypeScript/issues/42218
[2] https://github.com/tc39/proposal-operator-overloading