partway through type system refactor
refactored cpp into ts