Creating a Type-Safe, Generic Memoization Utility
Writing Jest Tests That Expects An Error To Be Thrown
Rxjs operators: scan vs. reduce