only call CanonicalizeSlow if the path will shrink. 87ms -> 81ms