   defp match_aliases(hint) do
     for {alias, _mod} <- env_aliases(),
         [name] = Module.split(alias),
-        String.starts_with?(name, hint) do
+        starts_with?(name, hint) do
       %{kind: :module, type: :alias, name: name}
     end
   end

  defp match_modules(hint, root) do
    get_modules(root)
    |> :lists.usort()
    |> Enum.drop_while(& not String.starts_with?(&1, hint))
    |> Enum.take_while(& String.starts_with?(&1, hint))
  end

  defp get_modules(true) do

  defp ensure_loaded(mod),
    do: Code.ensure_compiled(mod)

  defp starts_with?(_string, ""),  do: true
  defp starts_with?(string, hint), do: String.starts_with?(string, hint)

  ## Ad-hoc conversions

  defp to_entries(%{kind: :module, name: name}) do
