code: func exceptMorphism(p *Path) morphism {
  	return morphism{
  		Reversal: func(ctx *pathContext) (morphism, *pathContext) { return exceptMorphism(p), ctx },
  		Apply: func(in shape.Shape, ctx *pathContext) (shape.Shape, *pathContext) {
  			return join(in, shape.Except{From: shape.AllNodes{}, Exclude: p.Shape()}), ctx
  		},
  	}
  }
docs: // exceptMorphism removes all results on p.(*Path) from the current iterators.