The oae-doc module example already has this situation for a single level deep (a Doc has members that are DocDesc, DocCtx, etc). I remember wondering how it would work for deeper nesting, perhaps I botched something in copying the logic from node-swagger-express, I'll look into this.