Function type signature

I take this statement:

as implicitly meaning that foo((a,b)) = print(a, "--", b) is equivalent to:

function foo(argument)
    (a, b) = argument
    print(a, "--", b)
end

And that explains why it redefines foo(a).

2 Likes