code: def typed_fields_with_attrnames(cls):
          
          # Checking cls._typed_fields could return a superclass _typed_fields
          # value. So we check our class __dict__ which does not include
          # inherited attributes.
          klassdict = cls.__dict__
  
          try:
              return klassdict["_typed_fields_with_attrnames"]
          except KeyError:
              # No typed_fields set on this Entity yet. Find them and store
              # them in the _typed_fields class attribute.
              from . import fields
              typed_fields = tuple(fields.iterfields(cls))
              cls._typed_fields_with_attrnames = typed_fields
          return typed_fields
docs: Return a list of (TypedField attribute name, TypedField object)
          tuples for this Entity.