Tighten the union type representation.

Use an option instead of a bool.