code: func (p *Path) SaveOptionalReverse(via interface{}, tag string) *Path {
  	np := p.clone()
  	np.stack = append(np.stack, saveOptionalReverseMorphism(via, tag))
  	return np
  }
docs: // SaveOptionalReverse is the same as SaveReverse, but does not require linkage to exist.