docs: def filter(self, attr, value, compare="=="):
          """
          Filter list by a comparison of a given attribute (or chain or attributes).
  
          Args:
              attr (str): attributes to be compared (with initial `.` omitted)
              value (any): value to compare attr against
              compare (str): comparison type
                  "=": `attr == value`
                  "==": `attr == value`
                  ">": `attr > value`
                  ">=": `attr >= value`
                  "<": `attr < value`
                  "<=": `attr <= value`
                  "in": `value in attr`
                  "contains": `value in attr`
  
          Returns:
              nhl.List: reduced list with items that satisfy filter criterion
          """
          return List([item for item in self if _filter(_select(item, attr), value, compare)])