add tests for type future classes, fix a couple associated bugs