Refer to the issue when we lift the nest list (which also has a nest list as child) , now the child list can auto join with the same type list after it.
But it seems the check condition only consider if these two lists children can match
if (canJoin(tr.doc, after)) tr.join(after)
so it can cause the unexpected join behavior, like join the ordered list and the bullet list
maybe we should also check the list type before and after the join pos
const $checkPos = tr.doc.resolve(after);
if($checkPos.nodeBefore && $checkPos.nodeBefore.type.name === $checkPos.nodeAfter.type.name && canJoin(tr.doc, after)) tr.join(after)