This mirrors the behaviour seen in operators, where both
the left and right side are shown, except it has been
generalized to arguments:
foo = {1, 2, 3}
assert is_list(foo)
will show in error reports as:
1) test name (Module)
Expected truthy, got false
code: assert is_list(foo)
arguments:
# 1
{1, 2, 3}
stacktrace:
test/example_test.exs
This behaviour is always enabled, except for macros and
special forms, where rewriting the arguments may change the
macro behaviour.
A function Macro.special_form?/2 has also been added to
support this functionality.