[tvp] Improve and add new extractor

Should I leave it like this or add `default=None`?