code: def matched(self, other):
          
          mods = ["allocatable", "pointer"]
          return (self.kind.lower() == other.kind.lower() and
                  self.dtype.lower() == other.dtype.lower() and
                  self.D == other.D and
                  all([m in other.modifiers for m in self.modifiers if m in mods]))
docs: Returns True if the two ValueElement instances differ only by name,
          default value or some other inconsequential modifier.