def METHOD_NAME(x_anchors, y_anchors, vector_locations=(), subdivision=64, face_size=None):
    curves = []
    for i in [-1, 1]:
        anchors = [x_anchors, i * np.array(y_anchors), 0]
        curves.append(bezier_curve(anchors, vector_locations, subdivision))
    obj = butil.join_objects(curves)
    butil.modify_mesh(obj, 'WELD', merge_threshold=.001)
    with butil.ViewportMode(obj, 'EDIT'), butil.Suppress():
        bpy.ops.mesh.select_all(action='SELECT')
        bpy.ops.mesh.fill()
    remesh_fill(obj)
    if face_size is not None:
        butil.modify_mesh(obj, 'WELD', merge_threshold=face_size / 2)
    with butil.ViewportMode(obj, 'EDIT'), butil.Suppress():
        bpy.ops.mesh.region_to_loop()
        bpy.context.object.vertex_groups.new(name='boundary')
        bpy.ops.object.vertex_group_assign()
    obj = separate_loose(obj)
    return obj