code: func (p *pathObject) Both(call goja.FunctionCall) goja.Value {
  	preds, tags, ok := toViaData(exportArgs(call.Arguments))
  	if !ok {
  		return throwErr(p.s.vm, errNoVia)
  	}
  	np := p.clonePath().BothWithTags(tags, preds...)
  	return p.newVal(np)
  }
docs: // Both follow the predicate in either direction. Same as Out or In.
  // Signature: ([predicatePath], [tags])
  //
  // Example:
  //	// javascript
  //	// Find all followers/followees of fred. Returns bob, emily and greg
  //	g.V("<fred>").Both("<follows>").All()