Its common sense: anything passed in registers(preloaded due spec execution)
will outperform stack writes and stack wrangling will outperform heap allocated stuff.
That why ugly spaghetti code with tons of globals runs blazingly fast and
your elegant recursive functions and tuple/struct/lists arguments are incredibly slow, the first one
is much easier to optimize into tight assembly loops.