<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def esc(self, val):
 """ Returns the given object in the appropriate wrapper class from esc_types.py. In most cases, you will not need to call this directly. However, if you are passing a string to the interp method that should be used as an SQL bind value and not raw SQL, you must pass it to this method to avoid a SQL injection vulnerability. For example: The following is wrong! This could lead to a SQL injection attack. ('SELECT * FROM table WHERE first_name = John', ()) This is the correct way. ('SELECT * FROM table WHERE first_name = ?', ('John',)) """

        if type(val) in self.type_map:
            return self.type_map[type(val)](val)
        else:
            return Esc(val)