What problem does it solve? Go's nil pointers and repetitive (T, error) checks cause runtime panics and verbose error handling. This Skill guides the use of samber/mo monads so absence and failure become type-level values that compose through pipelines instead of manual if/else checks. ## Core Features & Use Cases - Monad Selection Guidance: Choose between Option, Result, Either, Either3-5, Future, IO, Task, and State based on whether a value is absent, an operation is fallible, or both branches are valid alternatives. - Boundary Wrapping: Convert Go's (T, error) and (V, bool) tuples with TupleToResult and TupleToOption at API boundaries, then chain Map/FlatMap/OrElse pipelines inside domain code. - Type-Changing Pipelines: Work around Go's generic method limitation using sub-package functions (option.Map, result.Pipe3) when a transformation changes the type parameter. - Use Case: When reviewing a Go service that returns nullable database fields, wrap columns in mo.Option[string] (which implements sql.Scanner and driver.Valuer) and audit for MustGet calls outside mo.Do blocks. ## Quick Start Ask the assistant to refactor a Go function that returns (T, error) into a samber/mo Result pipeline with TupleToResult at the boundary.