Note: These aren't necessarily mutually exclusive. E.g. we may want to use promise with thunk to get better ergonomics for certain kinds of effects.
Happy path: 4
- Doesn't do a lot for you. Just makes it easy to do async actions