Remove DirUnit indirection; implement Path() in each type directly