def cooked(self, raw_args):
        """Return interpreted / typed list of args."""
        args = []
        for arg in raw_args:
            # TODO: use the xmlrpc-c type indicators instead / additionally
            if arg and arg[0] in "+-":
                try:
                    arg = int(arg, 10)
                except (ValueError, TypeError), exc:
                    self.LOG.warn("Not a valid number: %r (%s)" % (arg, exc))
            elif arg.startswith('[['):  # escaping, not a list
                arg = arg[1:]
            elif arg == '[]':
                arg = []
            elif arg.startswith('['):
                arg = arg[1:].split(',')
                if all(i.isdigit() for i in arg):
                    arg = [int(i, 10) for i in arg]
            elif arg.startswith('@'):
                arg = xmlrpclib.Binary(read_blob(arg))
            args.append(arg)

        return args
Return interpreted / typed list of args.