I understand that there are other PrimitiveTypes besides the two I've used. And I agree about your point that this isn't the best programming pattern. However, none of the current geometric primitives use anything besides TriangleLists, which is why it's currently hard coded as a TriangleList. As such, the question I was ask was whether we really want to expose the more generic function, or whether we would prefer the following pattern.

```
public void DrawTriList(GraphicsDevice graphicsDevice, EffectPass pass = null);
public void DrawPatch3(GraphicsDevice graphicsDevice, EffectPass pass = null);
protected void Draw(GraphicsDevice graphicsDevice, PrimitiveType primitiveType, EffectPass pass = null);
```

This pattern prevents the developer from making a bad call, and the toolkit, generally speaking, is about providing a more user friendly experience.  The question is simply, how user friendly?