Immer was made for React, so it's mainly just used to satisfy React's purity requirements (i.e. not mutating state values) with mutable-looking code, not necessarily for any other benefits you'd expect from immutability.