TypeScript 0.9.5 now supports some recurrsive definitions.