def check_against_tables(chars, tables):
for c in chars:<EOL><INDENT>if any(in_table(c) for in_table in tables):<EOL><INDENT>return c<EOL><DEDENT><DEDENT>return None<EOL>
Perform a check against the table predicates in `tables`. `tables` must be
a reusable iterable containing characteristic functions of character sets,
that is, functions which return :data:`True` if the character is in the
table.

The function returns the first character occuring in any of the tables or
:data:`None` if no character matches.