Do not merge different block types

Look at this example

If we click delete then the bullet list will be transformed into the numbered list. I have this list of commands (deleteSelection, joinBackward, selectNodeBackward) for this behaviour. It’s okay for me, if blocks with the same type are merged, like two bullet lists, but I’d like to avoid behaviour when two different blocks are merged, I want just to delete empty line between them. How can I change this?