Keep an eye on https://github.com/Microsoft/TypeScript/pull/2041/ Might significantly reduce the amount of architecture _we_ need to maintain.