Probably you are right.  I thought about that, but I decided the current way just because the code looked simpler.  However, the DDesc classes have examples of methods returning different things than DDesc instances (e.g. .iterchunks()).  I think @mwiebe should chime in and provide feedback.