path type uniqueness proof
shallow type preservation proof