forEachWithType

inline fun <T : Any, F : Feature<T>> FeatureSet<T>.forEachWithType(crossinline block: FeatureSet<T>.(ref: FeatureRef<T, F>, feature: F) -> Unit)