def checkio(expression):
    """Check expression for correctly matched brackets."""
    stack = []
    closers = dict(zip(')]}', '([{'))

    for char in expression:
        # build up the stack with opening brackets
        if char in '([{':
            stack.append(char)
        # tear down the stack when closing brackets are encountered
        if char in closers:
            if stack and stack[-1] == closers[char]:
                stack.pop()
            else:
                return False
    
    # check for remaining un-matched opening brackets
    return False if stack else True