title: How can I extend an interface and override a property's type?
body: <p>I have a pretty complicated object with multiple properties that I'd like to extend and override a specific property.</p>
  
  <pre><code>interface ComplicatedObject {
    propertyOne: string,
    propertyTwo: null
  }
  
  interface MoreComplicatedObject extends ComplicatedObject {
    propertyTwo: string
  }
  </code></pre>
  
  <p>Essentially, objects with the type <code>ComplicatedObject</code> are converted to the <code>MoreComplicatedType</code> by assigning a string value to <code>propertyTwo</code>. I'd like to avoid using a union type on <code>propertyTwo</code> because all calls using <code>propertyTwo</code> assume that it's a string, not a null value, so I'd rather not have to include type checks in every instance where I access <code>propertyTwo</code>.</p>
  
  <p>How can I extend an interface and override the type of an existing property?</p>