code: func (p *Path) Intersects(geometry interface{}) bool {
  	var result bool
  
  	switch g := geometry.(type) {
  	case Line:
  		result = p.IntersectsLine(&g)
  	case *Line:
  		result = p.IntersectsLine(g)
  	case Path:
  		result = p.IntersectsPath(&g)
  	case *Path:
  		result = p.IntersectsPath(g)
  	default:
  		panic("can only determine intersection with lines and paths")
  	}
  
  	return result
  }
docs: // Intersects can take a line or a path to determine if there is an intersection.
  // TODO: I would love this to accept an intersecter interface.