code: func (p *Path) Morphism() graph.ApplyMorphism {
  	return func(qs graph.QuadStore, it graph.Iterator) graph.Iterator {
  		return p.ShapeFrom(iteratorShape{it}).BuildIterator(qs)
  	}
  }
docs: // Morphism returns the morphism of this path.  The returned value is a
  // function that, when given a QuadStore and an existing Iterator, will
  // return a new Iterator that yields the subset of values from the existing
  // iterator matched by the current Path.