Fix: The `_del()` and `_ndel()` operations shouldn't be able to alter cfg or cmp element

The name of this branch maybe is confusing, but follows the naming schemes
of the other PRs which do similar work.
This causes the compilation error.

When we define the `etc` parameter for the predicate function as `const`, we must also alter the predicate function type definition.

Is this feasible? Or should the `etc` parameter for the predicate function type be alterable?