code: def keys(self):
          
          keys = []
  
          for dic, _ in self.resolve():
              try:
                  cur_keys = dic.keys()
              except AttributeError:
                  raise ConfigTypeError(
                      u'{0} must be a dict, not {1}'.format(
                          self.name, type(dic).__name__
                      )
                  )
  
              for key in cur_keys:
                  if key not in keys:
                      keys.append(key)
  
          return keys
docs: Returns a list containing all the keys available as subviews
          of the current views. This enumerates all the keys in *all*
          dictionaries matching the current view, in contrast to
          ``view.get(dict).keys()``, which gets all the keys for the
          *first* dict matching the view. If the object for this view in
          any source is not a dict, then a ConfigTypeError is raised. The
          keys are ordered according to how they appear in each source.