Redux, Typescript, Angular, Redux Observable, Ngrx.
I wrote about how to effectively leverage TypeScript to write type-safe action creators and reducers. At that time ( pre TS 2.8 era ) there wasn’t a clean solution how to get the return type of an function without some hacks. Before Typescript 2.8 You had to do it like this: define type definition