Cast the knots to const ClutterKnot **; add type checks and use a variable to hold the private pointer in order to kill off some of the indirections.