setup Y.Promise<T> as a typescript 0.9 generic