 
   defmodule RPNForthThingTest do
     use ExUnit.Case, async: true
+
+    import ExUnit.CaptureIO
 
     test "normalizing input list" do
       assert RPNForthThing.normalize(["1", "5", "+"]) === [1, 5, "+"]

      # Well holy shit, it passes.
    end

  end
else
  IO.puts RPNForthThing.initialize

  # Usage: test_val is on top of stack. "if <then-clause> else <else-clause> then"
  # puts then-clause on top of instruction stack if test_val != 0, else-clause if test_val == 0.
  def compute([ "if" | remaining_input], [x | stack], dict) do
    {if_and_possibly_else_clause, ["then" | remaining_input]} = Enum.split_while(remaining_input, fn(ins) -> ins != "then" end)
    if Enum.any?(if_and_possibly_else_clause, fn ins -> ins == "else" end) do
      {if_clause, ["else" | else_clause]} = Enum.split_while(if_and_possibly_else_clause, fn(ins) -> ins != "else" end)
    else
      if_clause = if_and_possibly_else_clause
      else_clause = []
    end
    if x != 0 do
      compute(if_clause ++ remaining_input, stack, dict)
    else
