values seems like an odd accessor to get the field object. I would have thought it got the field's value; however, if fields returns a map from field.name to field, then I guess it makes sense even though the semantic of 'value' is overloaded.

Before mixins, fields would only be the non-namespaced fields (locally defined). How do we add that filter here so we don't get the mixin'd fields?