Why would you be using Immer and Immutable.js together? They seem pretty much mutually exclusive. Immer works on plain JS objects and arrays, while Immutable.js has its own set of APIs for objects.
I do not use Immer and Immutable together. I use Immutable mostly as I want to have custom types. I think I'll use Immer most of the time after implementing api like [1]