Simplify merge block behavior

Also, add explicit error for weird cases