There should be a single type implementing `MacResult` with `Option` fields for all the types `MacResult` can return, and a `Default` impl that fills in `None`.