fp.printAll = (&values...) -> { fn.arrayForEach(&values, fn.println) } fp.printAll(1, 2, 3) # 1 # 2 # 3 fp.printAll() # No output fp.printAll(abc, def, xyz) # abc # def # xyz # Array un-packing &arr $= [1, abc, xyz, 42.42f] fp.printAll(&arr...) # 1 # abc # xyz # 42.42 fp.printAll(&arr..., last) # 1 # abc # xyz # 42.42 # last fp.printAll(first, &arr...) # first # 1 # abc # xyz # 42.42