export type NonEmptyArray<T> = [T, ...T[]];
export type Constructor<T> = new(...args: Array<any>) => T;