Make sure parsed types have unique and shared type variables
Make non-unit types reconstructable using their parameters