def  balanced ( expression , left = '([' , right = ')]' ) :
    """Simple utility to check balanced parenthesis/brackets, etc...
    >>> expression = ' .... '
    >>> ok = balanced ( expression ) 
    """
    
    assert left and len(left) == len ( right ) ,\
           'balanced: invalid left/right arguments!'
    
    stack = []
    for i in expression :
        if   i in left  : stack.append ( i )
        elif i in right :
            pos = right.index ( i )
            if stack  and  left[ pos ] == stack [ -1 ] :
                stack.pop()
            else :
                return False

    return True if not stack else False