'Drop redundant conversion nodes after tree changes.'

def visit_CoerceToPyTypeNode(self, node):

    self.visitchildren(node)
    arg = node.arg
    if isinstance(arg, ExprNodes.CoerceFromPyTypeNode):
        arg = arg.arg
    if isinstance(arg, ExprNodes.PythonCapiCallNode):
        if ((arg.function.name == 'float') and (len(arg.args) == 1)):
            func_arg = arg.args[0]
            if (func_arg.type is Builtin.float_type):
                return func_arg.as_none_safe_node("float()    argument    must    be    a    string    or    a    number,    not    'NoneType'")
            elif func_arg.type.is_pyobject:
                return ExprNodes.PythonCapiCallNode(node.pos, '__Pyx_PyNumber_Float', self.PyNumber_Float_func_type, args=[func_arg], py_name='float', is_temp=node.is_temp, result_is_used=node.result_is_used).coerce_to(node.type, self.current_env())
    return node
