reader tweaks, var tracking, & type checking*

type checking not fully tested