Chapter 4.1 F.21: To return multiple “out” values, prefer returning a struct or tuple
Chapter 4.2 Enum.3: Prefer class enums over “plain” enums
Chapter 4.3 ES.5: Keep scopes small
Chapter 4.4 Con.5: Use constexpr
for values that can be computed at compile time
Chapter 4.5 T.1: Use templates to raise the level of abstraction of code
Chapter 4.6 T.10: Specify concepts for all template arguments