Just a quick one. It seems to be me that when creating a basic 3D engine, unless you're creating something that you know for a fact ahead of time that is only ever going to exist in one place in your scene (e.g. the ground terrain mesh), then it simplifies things if the default class for rendering meshes always assumes that multiple instances might exist, and therefore caters for that in terms of making an instance buffer available, and the shaders taking instancing information.
So I guess what I'm asking is, is it normal to set things up so you're using DrawIndexInstanced for most scene items, and DrawIndexed for the few other remaining things, or is it more normal to simply render each instance individually with DrawIndexed and leave DrawIndexInstanced for things like particles?