The following code snippets will be considered valid in TypeScript 3.6 to more-easily express the "callable class" pattern.
For all intents and purposes, C should be considered a hoisted declaration like any other function.
declare class C { }
declare function C() { }
declare class C { }
function C() { }
CC @wesleywigham @RyanCavanaugh