Returns a human-readable representation of this path.
Clients should not rely on any specific structure of the returned value. Instead they
should iterate through the path nodes and obtain any required information by calling
the methods on Path.Node and its sub-types.