Tutorial
- 
	Essential
The absolute minimum that you need to know to get started with Outcome immediately. - 
	Before we begin
Essential information before you begin the tutorial. 
- 
	result<>
Gentle introduction to writing code with simple success-or-failure return types. 
- 
	outcome<>
Success-or-failure return types where failure can take two forms, expected/handled failure and unexpected/abort failure. 
- 
	No-value policies
Describes the concept of NoValuePolicy and how to use no-value policies. 
- 
	Coroutines
Using Outcome in C++ Coroutines 
- 
	Conventions
Why you should avoid custom Etypes in public APIs.
 
- 
	Before we begin
- 
	Advanced
If you have a bit more time, this covers all the time-saving ways you can customise and automate Outcome for various use cases, especially in larger codebases made up of multiple third party libraries. - 
	Custom payloads
Success-or-failure return types where extra information in addition to the error code accompanies failure. 
- 
	Result returning constructors
How to metaprogram construction of objects which use result to return failure instead of throwing a C++ exception. 
- 
	Hooking events
Intercepting useful events such as initial construction, copies and moves so you can capture backtraces, fire debug breakpoints etc. 
- 
	Interoperation
Interoperating with std::expected and other ValueOrError concept matching types. 
 
- 
	Custom payloads



