https://123dok.com/document/yjd5j6ky-when-you-can-set-aside-side-effects.html