I can imagine that fact writers will have to duplicate the logic for ensuring their resolutions emit strings in a supported encoding, e.g.

{noformat}
setcode do
  do_something.encode('UTF-8')
end
{noformat}

What if instead the validation did the conversion and rescued exceptions that might arise (such as when trying to convert from ASCII-8BIT to UTF-8)?

In the case that the string-to-be-validated is already in UTF-8, then calling `.encode('UTF_8')` on it should be a noop.