What problem does it solve? Go's idiomatic error handling requires repetitive if err != nil checks, and nil pointers can cause runtime panics that the type system cannot prevent. This Skill provides guidance for using samber/mo's monadic types (Option, Result, Either, Future, IO, Task, State) to make absence and failure explicit at the type level and compose operations into pipelines. ## Core Features & Use Cases - Option[T] for nullable values: Replace nil pointers with Some/None semantics, with built-in JSON marshaling and sql.Scanner/driver.Valuer support for database models. - Result[T] and Do notation: Convert Go's (T, error) tuples into chainable Results with automatic error short-circuiting via Map, FlatMap, and mo.Do. - Pipeline sub-packages: Use option/result/either Pipe functions for type-changing transformations that Go's method type parameters cannot express. - Use Case: When building a config loader that reads a file, parses YAML, and validates the result, chain the steps with result.Pipe2 so errors propagate automatically instead of writing three separate error checks. ## Quick Start Ask the AI to refactor a Go function that returns (value, error) into one that uses samber/mo Result types with a chained pipeline.