redesign Path class (sensible fundeps + explicit foralls for more readability)