dev checkpoint: refactoring to use Ty instead of Match for types
dev checkpoint
Beginings of better type analysis. Get let tuples working