def METHOD_NAME(self, node):
    node = node.children[0]
    METHOD_NAME = node.METHOD_NAME()
    if hasattr(METHOD_NAME, "copy_bind"):
        # Prepare *extras* dict for passing to _copy_bind().
        extras = {
            "_grammar":            self.grammar,
            "_rule":               self,
            "_node":               node,
        }
        element = self._element
        name = element.name
        extra_node = node.get_child_by_name(name, shallow=True)
        if extra_node:
            extras[name] = extra_node.METHOD_NAME()
        elif element.has_default():
            extras[name] = element.default
        METHOD_NAME = METHOD_NAME.copy_bind(extras)
    return METHOD_NAME