def METHOD_NAME(x, iterations=5, L=0.5, inplace=False):
    """Smooth mesh using open3d's Laplacian smoothing.
    Parameters
    ----------
    x :             MeshNeuron | Volume | Trimesh
                    Mesh object to simplify.
    iterations :    int
                    Round of smoothing to apply.
    L :             float [0-1]
                    Diffusion speed constant lambda. Larger = more aggressive
                    smoothing.
    inplace :       bool
                    If True, will perform simplication on ``x``. If False, will
                    simplify and return a copy.
    Returns
    -------
    smoothed
                    Smoothed mesh object.
    """
    if not isinstance(x, (core.MeshNeuron, core.Volume, tm.Trimesh)):
        raise TypeError('Expected MeshNeuron, Volume or trimesh.Trimesh, '
                        f'got "{type(x)}"')
    mesh_o3d = make_o3d_mesh(x)
    if L > 1 or L < 0:
        raise ValueError(f'`L` (lambda) must be between 0 and 1, got "{L}"')
    result = mesh_o3d.filter_smooth_laplacian(iterations, L)
    if not inplace:
        x = x.copy()
    x.vertices = np.asarray(result.vertices)
    x.faces = np.asarray(result.triangles)
    return x