Use pointer-to-opaque-type, not an opaque pointer (for const-correctness).