   """
   @spec put_env(binary, binary) :: :ok
   def put_env(varname, value) when is_binary(varname) and is_binary(value) do
-   :os.putenv :binary.bin_to_list(varname), List.from_char_data!(value)
+   :os.putenv List.from_char_data!(varname), List.from_char_data!(value)
    :ok
   end
 

  * If `:abort`, the runtime system aborts producing a core dump, if that is
    enabled in the operating system;

  * If a char list, an erlang crash dump is produced with status as slogan,
    and then the runtime system exits with status code 1;

  Note that on many platforms, only the status codes 0-255 are supported

  the result as a binary.

  If `command` is a char list, a char list is returned.
  Otherwise a string, correctly encoded in UTF-8, is expected.
  """
  @spec cmd(String.t)  :: String.t
  @spec cmd(char_list) :: char_list

  def cmd(command) when is_list(command) do
