The "Computation Expressions" series
In this series, you’ll learn what computation expressions are, some common patterns, and how to make your own. In the process, we’ll also look at continuations, the bind function, wrapper types, and more.
- 
    1. Computation expressions: Introduction
    
Unwrapping the enigma... - 
    2. Understanding continuations
    
How 'let' works behind the scenes - 
    3. Introducing 'bind'
    
Steps towards creating our own 'let!' - 
    4. Computation expressions and wrapper types
    
Using types to assist the workflow - 
    5. More on wrapper types
    
We discover that even lists can be wrapper types - 
    6. Implementing a CE: Zero and Yield
    
Getting started with the basic builder methods - 
    7. Implementing a CE: Combine
    
How to return multiple values at once - 
    8. Implementing a CE: Delay and Run
    
Controlling when functions execute - 
    9. Implementing a CE: Overloading
    
Stupid method tricks - 
    10. Implementing a CE: Adding laziness
    
Delaying a workflow externally - 
    11. Implementing a CE: The rest of the standard methods
    
Implementing While, Using, and exception handling