This additional constraint enables adding a route to the template (and p...

...otentially to the UseMvc method) without actually implementing the actual artifact.

For example without adding an area to a controller, a route can still be added to the template.
I'm confused - why not tell the user the actual type that's broken as opposed to some interface they might not even be familiar with? I think this is fine the way it is...