a bunch of work on the typescript parser