code: func New(o Options) (storage.Storage, error) {
  	s := storageImpl{
  		Options: &o,
  	}
  
  	if !s.Stream.IsFullPath() {
  		return nil, fmt.Errorf("invalid stream URL: %q", s.Stream)
  	}
  	if s.Index != "" && !s.Index.IsFullPath() {
  		return nil, fmt.Errorf("invalid index URL: %v", s.Index)
  	}
  
  	return &s, nil
  }
docs: // New instantiates a new Storage instance, bound to the supplied Options.