You now know everything you need to get started with using Outcome immediately. The initial temptation for most beginners will be to use a bespoke strongly typed enumeration on a case by case basis i.e. a “once off” custom E type. This is usually due to experience in other languages with sum types e.g. Rust, Haskell, Swift etc. However this is C++! Not Rust, not Swift, not Haskell! I must caution you to always avoid using custom E types in public APIs. »