'Create a fused function for a DefNode with fused arguments'

def _create_fused_function(self, env, node):

    from . import FusedNode
    if (self.fused_function or self.in_lambda):
        if (self.fused_function not in self.fused_error_funcs):
            if self.in_lambda:
                error(node.pos, 'Fused    lambdas    not    allowed')
            else:
                error(node.pos, 'Cannot    nest    fused    functions')
        self.fused_error_funcs.add(self.fused_function)
        node.body = Nodes.PassStatNode(node.pos)
        for arg in node.args:
            if arg.type.is_fused:
                arg.type = arg.type.get_fused_types()[0]
        return node
    decorators = getattr(node, 'decorators', None)
    node = FusedNode.FusedCFuncDefNode(node, env)
    self.fused_function = node
    self.visitchildren(node)
    self.fused_function = None
    if node.py_func:
        node = self._handle_def(decorators, env, node)
    return node
