Convert the project to Typescript without changing any behaviour. All existing tests must continue to pass