public TPath() { this.prefixPath = null; this.segment = null; }
private TPath(TPath prefixPath, ITPathSegment segment) { this.prefixPath = prefixPath; this.segment = segment; }
internal TPath WithSegmentAdded(ITPathSegment segment) => new TPath(this, segment);