Slice graph works

Good lesson. Do not type-assert on interface{} and do not overuse
GetVertices().

	// remove A from its outgoing vertices' InVertices
	for _, v := range *A.OutVertices {
		// can't convert / type-assert on nil
		// so we must check if it is nil
		if v == nil {
			break
		}
		d := v.(*Vertex).GetInVertices()
		d.FindAndDelete(A)
	}