string_to_uuid/1 uses exit:badarg to simplify error handling.