code: func (s *ObjectStorage) IterEncodedObjects(t plumbing.ObjectType) (storer.EncodedObjectIter, error) {
  	objects, err := s.dir.Objects()
  	if err != nil {
  		return nil, err
  	}
  
  	seen := make(map[plumbing.Hash]struct{})
  	var iters []storer.EncodedObjectIter
  	if len(objects) != 0 {
  		iters = append(iters, &objectsIter{s: s, t: t, h: objects})
  		seen = hashListAsMap(objects)
  	}
  
  	packi, err := s.buildPackfileIters(t, seen)
  	if err != nil {
  		return nil, err
  	}
  
  	iters = append(iters, packi)
  	return storer.NewMultiEncodedObjectIter(iters), nil
  }
docs: // IterEncodedObjects returns an iterator for all the objects in the packfile
  // with the given type.