{number}
{typeof A}
{typeof}
{X<typeof>}
{X<typeof A>}
{(typeof X)<A>}
{(typeof A)}
{...typeof A}
{typeof A...}
{typeof A | number}
{number | typeof A}
{typeof N[]}
{function(typeof A)}
{function(typeof A, number)}
{function(number, typeof A)}
{function(): typeof A}
{import("x")}
{import("./x")}
{import("../x")}
{import("x").T}
{import("x").T.U}
{import("x").T.U<V,W>}
{(x: *) => *}
{(x: number) => string}
{(x: number, y: string, z: Class) => string}
{() => string}
{function(): () => string}
{function(() => string): void}
{X<() => string>}
{new (x: number) => string}
//{[it, needs, to, be]}
//{(own: list, of: constituents) => x}
//{{ (own: list, constituents): x }}
//{{ new (own: list, constituents): x }}
//{{ [n: number]: number }}
//{{ [s: string]: string }}
//{{ [T in keyof P]: T[K] }}
//{X extends Y ? U : V}

