making sure conversion is exhaustive