         |> Map.get(:baz)
         |> Enum.each(&IO.puts/1)
 
-
-  This will cause a `Protocol.UndefinedError`, since `nil` isn't `Enumerable`. Often times while
-  iterating over enumerables zero iterations is preferrable to being forced to deal with an exception.
-  Had there been a `[]` default parameter this could have been averted.
+  This will cause a `Protocol.UndefinedError`, since `nil` isn't `Enumerable`.
+  Often times while iterating over enumerables zero iterations is preferrable
+  to being forced to deal with an exception. Had there been a `[]` default
+  parameter this could have been averted.
 
   Encourage use of `Map.get/3` instead to provide safer default values.
   """
 
   @explanation [check: @moduledoc]
-  @call_string "Map.get/2"
+  @call_string "Map.get"
 
   use Credo.Check, base_priority: :normal
 

    Credo.Code.prewalk(source_file, &traverse(&1, &2, issue_meta))
  end

  defp traverse({:|>, meta , [left | right]} = ast, [] = issues, issue_meta) do
    order = pipewalk(left) ++ pipewalk(List.first(right))

    pipe_issues = order
                  |> unsafe_lines
                  |> Enum.map(fn x -> issues_for_call([line: x || meta[:line]], issues, issue_meta) end)
                  |> List.flatten

    {ast, issues ++ pipe_issues}
  end


    {ast, issues}
  end

  defp unsafe_expr?({expr, idx}) do
    required_length =
      case idx do
        0 -> 3
        _ -> 2
      end

    case expr do
      {{{:., _, [{_, _, [:Map]}, :get]}, _, args}, _} ->
        length(args) != required_length
      _ ->
        false
    end
  end

  defp issue_for(issue_meta, line_no, trigger) do
    format_issue issue_meta,
      message: "Map.get with no default return value is potentially unsafe
                in pipes, use Map.get/3 instead",
      trigger: trigger,
      line_no: line_no
  end
