We have atoms in Erlang and Elixir so it's not reasonable to assign meanings to integers. You could pass an atom `:error` here and match it back in the CLI module to produce an integer for `System.halt`. But wait for José's feedback first, he will have deeper insights regarding the whole PR.