I find the it interesting that you want to simulate the shuffle of a real dealer.
But conjoining a split deck rarely ever is a linear one to one swap of cards.
Usually you get say 0-4 from one side maybe and 0-4 from one side.
So I just wanted to say it would be interesting if you allowed for this varience in your code.
What would be really intersting is to create a greater or lesser variance based on the skill level of your bot dealer.
(me hides for being lazy)