One advantage in Studio is that I can override anything I want, it's true. But the disadvantage is that I might override something without realizing it.
For example this week I accidentally overrode the lifecycle "task" because I didn't know there was already one in Nuxeo. This broke all my workflows and I had no idea how to fix it (luckily Michael tracked it down).
It might be a nice enhancement to Studio to have some kind of warning or information text any time an object will override something from the core.
To take it further it would be really nice if you could view and compare the existing object as well.
To some extent this can be mitigated by naming conventions so a different solution might be to suggest default naming conventions a-la-github. When you create a new repo in github it suggests that you use lowercase words separated by dashes, for example.
Another solution would be to expose the core objects as read-only throughout the Studio interface. Project Setting to toggle them on or off.
Or maybe just a report that I could generate listing all overrides.
There are a lot of different ways to solve this obviously, and the scope could be quite large. But I think it's an easy mistake to make even as a seasoned Nuxeo Studio user, and for someone newer like me it can be a complete mystery what's wrong.