anchor.diff:                                              after
                                                   0 -> no_message
                                               end,
  -                                        ct:pal("expected message ~p but got ~p", [??MsgPattern, ActualMessage]),
  -                                        ?assert(false)
  +                                        ct_fail("expected message ~p but got \"~p\"", [??MsgPattern, ActualMessage])
                                   end
                               MsgPattern -> ok
                           after
  
positive.code:                     Any ->
                          ct:pal("Failed: Stacktrace ~p~n",
                                 [erlang:get_stacktrace()]),
                          ct:fail(lists:flatten(
                              io_lib:format("~p evaluated to ~p which is "
                                            "not the expected ~p that evaluates to ~p",
                                            [??Actual, Any, ??Expected, ExpectedVal])))
                  end
          end()).
  
  
negative.code:                             after
                                  0 -> no_message
                              end,
                          ct_fail("expected message ~p but got \"~p\"", [??MsgPattern, ActualMessage])
                  end
          end()).
  -define(expect_message_ignore(MsgPattern, IgnoredMessage), ?expect_message_ignore(MsgPattern, IgnoredMessage, 1000)).
  