Bank of America Unlimited Cash Rewards for the win :) My only regret is not realizing sooner that it existed since I used the Citi Double Cash card for so long.
I reviewed a CL from Hyrum at Google where he was trying to remove a `set_timeout(float)` method in favor of `set_timeout(absl::Duration)` and changed the former to delegate to the latter. It turned out that there was some special handling of inf/nan in the legacy API, despite no mention in the documentation, and his CL broke a number of tests. It was amusing to experience Hyrum's law so directly :)
Something else to consider is compile time versus runtime validation with formatting libraries, e.g. due to passing the wrong number or type of arguments. The Abseil str_format library does compile time validation for both when possible: https://abseil.io/docs/cpp/guides/format
Sorry, I didn't check comments for a while. The target date funds tend to have higher management fees and yes, worse composition of stocks versus bonds compared to holding a mix yourself, IMO, based on your goals.