code: func NewDirReader(ctx context.Context, fetcher blob.Fetcher, dirBlobRef blob.Ref) (*DirReader, error) {
  	ss := new(superset)
  	err := ss.setFromBlobRef(ctx, fetcher, dirBlobRef)
  	if err != nil {
  		return nil, err
  	}
  	if ss.Type != "directory" {
  		return nil, fmt.Errorf("schema/dirreader: expected \"directory\" schema blob for %s, got %q", dirBlobRef, ss.Type)
  	}
  	dr, err := ss.NewDirReader(fetcher)
  	if err != nil {
  		return nil, fmt.Errorf("schema/dirreader: creating DirReader for %s: %v", dirBlobRef, err)
  	}
  	dr.current = 0
  	return dr, nil
  }
docs: // NewDirReader creates a new directory reader and prepares to
  // fetch the static-set entries