Lift nest list with unexpected join behavior

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

lift-nest-list-issue

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)