# 23-haskell-maybe-either This example shows intermediate Haskell request building with `Maybe` and `Either`. It includes: - optional fields read through `Maybe`, - required fields upgraded from `Maybe` into `Either` errors, - validation for rollout strategy and canary percentage, and - a test suite run by `nix flake check`. Useful commands: ```bash nix develop cabal run cabal run -- service=api env=production replicas=3 strategy=canary canary=10 owner=platform cabal test nix build ./result/bin/mini-release-request service=api env=production replicas=3 strategy=canary canary=10 owner=platform nix run . -- service=api env=production replicas=3 strategy=canary canary=10 owner=platform nix flake check ```