This distinction (just this class, or also all the mixins) seems to be a big concern, and point of discussion between you and Don.  Perhaps we should encapsulate these two styles of iteration?  I see that iterfields is gone in favor of .fields.values(), but we could give it a mixins=True/False argument and keep this logic encapsulated.  It would also make the calls more explicit: I think future readers will be confused about whether .fields.values() includes mixins or not.