code: func (x *Index) GetDirMembers(ctx context.Context, dir blob.Ref, dest chan<- blob.Ref, limit int) (err error) {
  	defer close(dest)
  
  	sent := 0
  	if x.corpus != nil {
  		children, err := x.corpus.GetDirChildren(ctx, dir)
  		if err != nil {
  			return err
  		}
  		for child := range children {
  			dest <- child
  			sent++
  			if sent == limit {
  				break
  			}
  		}
  		return nil
  	}
  
  	it := x.queryPrefix(keyStaticDirChild, dir.String())
  	defer closeIterator(it, &err)
  	for it.Next() {
  		keyPart := strings.Split(it.Key(), "|")
  		if len(keyPart) != 3 {
  			return fmt.Errorf("index: bogus key keyStaticDirChild = %q", it.Key())
  		}
  
  		child, ok := blob.Parse(keyPart[2])
  		if !ok {
  			continue
  		}
  		dest <- child
  		sent++
  		if sent == limit {
  			break
  		}
  	}
  	return nil
  }
docs: // GetDirMembers sends on dest the children of the static directory dir.