I suppose it should be possible to bind certain actions to keyboard shortcuts, and define that action specifically to handle things the way you want them to be handled. But, when it comes to unexpected results from basic prosemirror behavior, thats up to you to fix. Prosemirror does a good job at handling 60%+ of the cases. But, If you have some complicated schema requirements or complicated expectations of what should happen, there is no other choice but to define your actions specifically for each case.