In Lua, only the last expression in an argument list preserves multiple
results and all earlier expressions yield exactly one value (their first).
For example:
```
f(a(), b(), c())
```
where
```
a -> (1,2)
b -> (3,4)
c -> (5,6)
```
becomes
```
f(1, 3, 5, 6)
```
which matches Lua behaviour (tested in version 5.4).
Changes:
* Function argument lists keep multiple results only from the last
argument.
* Fixes failing truthiness tests (`true and ret_one_two()`).
Sidenote: the `truthiness_test.lua` was not called at all because of
my obvious copy/paste typo (the `arithmetical_test.lua` was called twice
instead; now fixed too and both test suites pass ok).