Note that the changes to module resolution cause steps one and two no longer to run because node can't find the imports, although they still compile fine.
Step two didn't work so well, so this is actually step three. Avoids too much redundant type information.