Add Path.t (for input types) and Path.r (for output), closes #873