Hi, it's ITO Friday again. I still have an improved patch for the reduce function (http://en.wikipedia.org/wiki/Reduce_%28higher-order_function%29) lying around (see attachment). It adds two versions of the function: 1) One that takes an initial value. integer sum = list::reduce(integer x, integer y, 0, [ 1, 2, 3 ], { return x + y; }); integer product = list::reduce(integer x, integer y, 1, [ 1, 2, 3 ], { return x * y; }) 2) One were the initial value is the value of the first list entry. Here the list must of course have at least one entry. integer min = list::reduce(integer x, integer y, [ 1, 2, 3 ], { return x < y ? x : y; }); integer max = list::reduce(integer x, integer y, [ 1, 2, 3 ], { return x > y ? x : y; }); The behaviour is now analogous to Python's reduce so it shouldn't be completely screwed. The patch contains no binary incompatibility to libycp or the bytecode. Please comment. ciao Arvin