key paths for recursive nested types - Theo's Typesafe Cult