`[P <: AnyProperty]` is not used here