This proposal seems pretty bad to me.
I think Go lacks the features to make this ergonomic and flexible.
Before adding iterators the language should add tuples so that you won't need to special case 0,1 and 2 artity functions.
And shorter syntax for anonymous functions to make writing this less verbose, I believe this has been proposed before.
Also the special case for "0..N" ranges seems very unnecessary.