title: Keyof nested child objects
body: <p>I have a recursively typed object that I want to get the keys of and any child keys of a certain type.</p>
  
  <p>For instance. Below I want to get a union type of:</p>
  
  <pre><code>'/another' | '/parent' | '/child'
  </code></pre>
  
  <p>Example: </p>
  
  <pre><code>export interface RouteEntry {
      readonly name: string,
      readonly nested : RouteList | null
  }
  export interface RouteList {
      readonly [key : string] : RouteEntry
  }
  
  export const list : RouteList = {
      '/parent': {
          name: 'parentTitle',
          nested: {
              '/child': {
                  name: 'child',
                  nested: null,
              },
          },
      },
      '/another': {
          name: 'anotherTitle',
          nested: null
      },
  }
  </code></pre>
  
  <p>In typescript you can use keyof typeof RouteList to get the union type:</p>
  
  <pre><code>'/another' | '/parent' 
  </code></pre>
  
  <p>Is there a method to also include the nested types</p>