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