How do you define abstractions over logical branching? How can you eliminate the Arrow Code anti-pattern? Can you compose two—or more—outcomes that may succeed or fail?

This episode, the second of two connected videos, teaches you how to model mutually exclusive cases in a type-safe, object-oriented way. (The first is the video called Church Visitor.) You’ll see lots of object-oriented code examples that illustrate how to amplify the essentials of domain-specific logical branching while eliminating the irrelevant implementation details.

You’ll also learn some more of the scary words wielded by functional programmers and discover that they’re not so scary after all.