A stack is a good way to test whether parentheses are balanced.
An open paren must be matched by a close paren of the same kind,
and whatever is between the parens must be balanced.
({[][][]}) is balanced, but ({[) is not.