code: func (p *Path) Out(via ...interface{}) *Path {
  	np := p.clone()
  	np.stack = append(np.stack, outMorphism(nil, via...))
  	return np
  }
docs: // Out updates this Path to represent the nodes that are adjacent to the
  // current nodes, via the given outbound predicate.
  //
  // For example:
  //  // Returns the list of nodes that "B" follows.
  //  //
  //  // Will return []string{"F"} if there is a predicate (edge) from "B"
  //  // to "F" labelled "follows".
  //  StartPath(qs, "A").Out("follows")