This is a follow-up of Interface Depending on the Types of a Recursive Property
Sorry if it looks like "write my code" questions, it\'s surely not meant to be s