   @doc """
   Evaluate a tag and return the condition that succeeded or nil
   """
-  @spec eval(any, Context.t) :: {iolist, Context.t}
+  @spec eval(any, Context.t()) :: {iolist, Context.t()}
   def eval(tag, context) do
     case do_eval(tag, context) do
       {text, context} -> {text, context}


  defp do_eval([{:case_exp, [field]} | [{:whens, when_map} | _]] = tag, context) do
    result = when_map[Argument.get(field, context)]
    if result do
      result[:text]
    else

  end

  defp do_eval([], _context), do: nil

  defp do_eval({:for_exp, exp}, context) do
    {enumerable, exp} = Keyword.pop_first(exp, :field)
    {enumerable_value, exp} = Keyword.pop_first(exp, :field)
