Implement Some(value) and None — a minimal Option monad — with these
methods on each:
.map(fn) — apply fn to the value if present, return a new Option..flatMap(fn) — like map but fn returns an Option..getOrElse(default) — return the value or default for None..isSome() / .isNone() — type predicates.solve(ops) chains operations and returns the final .getOrElse result.
Sample tests