typed VM wip