What problem does it solve? Go's idiomatic error handling requires repetitive if err != nil checks, and nil pointers cause runtime panics that the type system cannot prevent. This Skill teaches how to use the samber/mo library to make absence and failure explicit in Go types, replacing nil checks with Option[T] and error tuples with composable Result[T] pipelines. ## Core Features & Use Cases - Option[T] for nullable values: Eliminate nil pointer risks in JSON API responses and database models, since Option implements json.Marshaler, sql.Scanner, and driver.Valuer natively. - Result[T] and Either[L, R] for error handling: Convert Go's (T, error) tuples with TupleToResult, chain operations with Map/FlatMap, and use Either when both outcomes are valid alternatives. - Pipeline sub-packages and Do notation: Work around Go's limitation where methods cannot change type parameters by using option.Pipe3, result.Pipe2, or mo.Do for multi-step type-changing transformations. - Use Case: You are building a config loader that reads a file, parses YAML, and validates the result. Use mo.TupleToResult at the boundary, chain with result.Pipe2 for type-changing steps, and extract with OrElse at the end. ## Quick Start Ask the AI to refactor a Go function that returns (T, error) into a samber/mo Result pipeline using TupleToResult and FlatMap chaining.