— I just usually don't have the need to diff or clone objects...
— Object.assign({}, obj); just werks
— Since I am (rewriting from scratch now) making a flux framework, it needs data diffing and cloning
— I could just use an existing module but that wouldn't be very fun would it :P
— When I want to keep immutable data and return a modified instance
— This algo does a deep clone, recreates cycles and multiple refs