code: func (p *Path) Save(via interface{}, tag string) *Path {
  	np := p.clone()
  	np.stack = append(np.stack, saveMorphism(via, tag))
  	return np
  }
docs: // Save will, from the current nodes in the path, retrieve the node
  // one linkage away (given by either a path or a predicate), add the given
  // tag, and propagate that to the result set.
  //
  // For example:
  //  // Will return []map[string]string{{"social_status: "cool"}}
  //  StartPath(qs, "B").Save("status", "social_status"