<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def schema(self):
 """ Returns the schema of all tables. For each table, return the name, and a list of tuples representing the columns. Each column tuple consists of a (name, type) pair. Note that additional metadata, such as whether a column may be null, or whether a column is a primary key, is not returned. Example: [("bar", (("id", "integer"), ("name", "table"))] Returns: list of tuples: Each tuple has the format (name, columns), where "columns" is a list of tuples of the form (name, type). """

        def _info2columns(info):
            return tuple((column["name"], column["type"]) for column in info)

        def _table2tuple(table):
            return (table, _info2columns(self.table_info(table)))

        return [_table2tuple(table) for table in self.tables]