def fix_call(callable, *args, **kw):
 try:
  val = callable(*args, **kw)
 except TypeError:
  exc_info = fix_type_error(None, callable, args, kw)
  reraise(*exc_info)
 return val

def fix_call ( callable , * args , ** kw ) : try : val = callable ( * args , ** kw ) except TypeError : exc_info = fix_type_error ( None , callable , args , kw ) reraise ( * exc_info ) return val
call callable fixing any type errors that come out .