     assert argless_macro == 1
   end
 
-  test "refute when value is false" do
+  test "refute when value is falsy" do
     false = refute false
-  end
-
-  test "refute when value evaluates to true" do
+    nil = refute Value.falsy()
+  end
+
+  test "refute when value evaluates to truthy" do
     try do
       refute Value.truthy()
       raise "refute was supposed to fail"
     rescue
       error in [ExUnit.AssertionError] ->
         "refute(Value.truthy())" = Macro.to_string(error.expr)
-        "Expected false or nil, got true" = error.message
+        "Expected false or nil, got :truthy" = error.message
     end
   end
 

    assert_ok(42)
  end

  test "assert with true value" do
    true = assert Value.truthy()
  end

  test "assert with message when value is false" do
    try do
      "This should never be tested" = assert false, "This should be true"
    rescue
      error in [ExUnit.AssertionError] ->
        "This should be true" = error.message
    end
  end

  test "assert when value evaluates to false" do
    try do
      "This should never be tested" = assert Value.falsy()
    rescue
      error in [ExUnit.AssertionError] ->
        "assert(Value.falsy())" = error.expr |> Macro.to_string()
        "Expected truthy, got false" = error.message
    end
  end



  test "assert arguments are not kept for operators" do
    try do
      "This should never be tested" = assert !Value.truthy()
    rescue
      error in [ExUnit.AssertionError] ->
        false = is_list(error.args)
