def METHOD_NAME(min_distance, max_angle):
    def points_fn(nw: NodeWrangler, points, normal):
        points = nw.new_node(Nodes.SeparateGeometry,
                             [points, nw.compare_direction('LESS_THAN', normal, [0, 0, 1], max_angle)])
        return nw.new_node(Nodes.MergeByDistance, input_kwargs={'Geometry': points, 'Distance': min_distance})
    return points_fn