docs: def match(self, keys, partial=True):
          """
          Check if the value of this namespace is matched by
          keys
  
          '*' is treated as wildcard
  
          Arguments:
  
          keys -- list of keys
  
          Examples:
  
              ns = Namespace("a.b.c")
              ns.match(["a"]) #True
              ns.match(["a","b"]) #True
              ns.match(["a","b","c"]) #True
              ns.match(["a","*","c"]) #True
              ns.match(["b","b","c"]) #False
  
          """
          if not partial and len(keys) != self.length:
              return False
          c = 0
          for k in keys:
              if c >= self.length:
                  return False
              a = self.keys[c]
              if a != "*" and k != "*" and k != a:
                  return False
              c += 1
  
          return True