forgot to finish the de{own/ref} cases of path type preservation