https://www.somethingsblog.com/2024/10/20/immer-vs-immutable-js-a-comprehensive-comparison/