title: Angular: Can't navigate to children routes with UrlMatcher
body: <p>Preface:
  Part of my URL strategy has an optional parameter. Meaning, the URL path could start with a region code and language code or just a language code. These codes are then proceeded by the actual app route.</p>
  
  <pre><code>/us/eng --&gt; Home page
  /us/eng/about-us --&gt; About Us page
  /eng/about-us --&gt; About Us page
  </code></pre>
  
  <p>I am trying to use a UrlMatcher to accomplish the the optional region code in the URL.</p>
  
  <p>My problem is, the Home page is always displayed. It never shows the About Us page or any other child route.</p>
  
  <p><strong>partial app.routes.ts</strong></p>
  
  <pre><code>export function baseRouteMatcher(url: UrlSegment[]) {
      const posParams: { [key: string]: UrlSegment } = {};
      const consumed: UrlSegment[] = url;
      if (url[0].path.length === 2 &amp;&amp; url[1].path.length === 3) {
          posParams.region = url[0];
          posParams.lang = url[1];
      } else if(url[0].path.length === 3) {
          posParams.region = new UrlSegment('world', {});
          posParams.lang = url[0];
      }
      return ({consumed, posParams});
  }
  
  export const appRoute = {
      name: 'app',
      matcher: baseRouteMatcher,
      children: [
          { path: 'terms-of-service', component: ContentComponent },
          { path: 'privacy-policy', component: ContentComponent },
          { path: 'about-us', loadChildren: './about-us/about-us.module#AboutUsModule' },
          { path: '', component: HomeComponent },
      ]
  };
  </code></pre>
  
  <p>It's quite possible I completely misunderstand how UrlMatcher functions. It's hard finding complex examples. Any help is appreciated!</p>