typed KeyValue with extractor