human
Complete the below
def flatten(list):

    ''''Flatten a list of elements into a uniqu list
    Author: Christophe Simonis (christophe@tinyerp.com)
    Examples::
    >>> flatten([\'a\'])
    [\'a\']
    >>> flatten(\'b\')
    [\'b\']
    >>> flatten( [] )
    >>> flatten( [[], [[]]] )
    >>> flatten( [[[\'a\',\'b\'], \'c\'], \'d\', [\'e\', [], \'f\']] )
    [\'a\', \'b\', \'c\', \'d\', \'e\', \'f\']
    >>> t = (1,2,(3,), [4, 5, [6, [7], (8, 9), ([10, 11, (12, 13)]), [14, [], (15,)], []]])
    >>> flatten(t)
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]'
    '''

Write me a the Python code you requested?
assistant
#Here is the Python code you requested.
    def isiterable(x):
        return hasattr(x, '__iter__')
    r = []
    for e in list:
        if isiterable(e):
            map(r.append, flatten(e))
        else:
            r.append(e)
    return r