           unquote(arrow),
           unquote(rest_text),
           name,
-          "\x1b[m\n"
+          unquote(endl)
         ]
       end)
 

    end
  end

  top = "    \x1b[31m\u256d\u2500\u2500\u2500\u2500\u2500\u256e\x1b[m\n"
  arrow = "    \x1b[31m\u2502     \u2193\x1b[m\n"
  first_text = "    \x1b[31m\u2502    \x1b[33m"
  rest_text = "    \x1b[31m\u2502    "
  bottom1 = "    \x1b[31m\u2502     \u2502\x1b[m\n"
  bottom2 = "    \x1b[31m\u2570\u2500\u2500\u2500\u2500\u2500\u256f\x1b[m\n"

  @spec make_graph([binary()]) :: iodata()
  defp make_graph([first | rest]) do

      unquote(arrow),
      unquote(first_text),
      first,
      unquote(endl),
      rest_graph,
      unquote(bottom1),
      unquote(bottom2)
    ]
    |> IO.ANSI.format()
  end
end
