Maybe it should even return the `PrimitiveType`.  Or maybe we provide it with a command (for overrides like the shader program), and it returns a full command.

Look at all the use cases and do what you think is best.