What problem does it solve? Go developers face nil pointer panics, repetitive if err != nil checks, and ambiguous zero values when handling nullable data and fallible operations. This Skill provides guidance for using the samber/mo library to make absence and failure explicit in the type system. ## Core Features & Use Cases - Option[T] for nullable values: Replace nil pointers with Some/None types that implement sql.Scanner, driver.Valuer, and JSON marshaling for database models and API responses. - Result[T] and Either[L, R] for error handling: Chain fallible operations with Map, FlatMap, and Pipe functions so errors short-circuit automatically instead of requiring manual checks at each step. - Advanced functional types: Use Future, Task, IO, and State for async computations, deferred side effects, and stateful pipelines. - Use Case: When building a Go API with nullable database columns, use mo.Option[string] fields so the same struct works for both row scanning and JSON responses without custom serialization code. ## Quick Start Ask the agent to refactor a Go function that returns (T, error) into a samber/mo Result pipeline using TupleToResult and FlatMap chaining.