code: public function filter(\Closure $callback): self
      {
          $collection = new static();
  
          foreach ($this->props as $key => $value) {
              if ($callback($value, $key)) {
                  $collection->add($key, $value);
              }
          }
  
          return $collection;
      }
docs: filter the props againt rule on callback
  IMMUTABLE
  
  @return self with filtered properties