Yeah, it should work with any level of nesting. If toPrettyChars() doesn't work out, my parent plan is actually more like: auto item = this.parent; while(item) { str ~= "." ~ item.toChars(); item = this.parent; } so it'd go any level needed.