   # ^ needed only for plug-free tests, because patched Plug
   # accepts iolist as a resp body
 
+
   @spec html(attrs, list) :: outlist
+
   def html(attrs\\[], inner) do
     [ "<!DOCTYPE html>" | tag(:html, attrs, inner) ]
   end
+
 
   ~w[head title body div]
     |> Enum.each fn name ->

      def unquote(sym)(attrs\\[], inner), do: tag(unquote(sym), attrs, inner)
      def unquote(sym)(), do: tag(unquote(sym))
    end
  ~w[meta link]
    |> Enum.each fn name ->
      sym = :"#{name}"

    end
  end


  @spec flush(outlist | String.t) :: String.t

  def flush(chunks) when is_list(chunks) do
    chunks |> List.flatten |> Enum.join
  end
