def reduce_left(ol,callback,initialValue):
length = ol.__len__()<EOL>accumulator = initialValue<EOL>for i in range(<NUM_LIT:0>,length):<EOL><INDENT>accumulator = callback(accumulator,ol[i])<EOL><DEDENT>return(accumulator)<EOL>
from elist.elist import *
def callback(accumulator,currentValue):
    accumulator.append(currentValue[0])
    accumulator.append(currentValue[1])
    return(accumulator)

ol = [(1,2),("a","b"),("x","y")]
reduce_left(ol,callback,[])
#array_reduce, reduceLeft ,reduce_left  are the same