What is the difference between an extended interface and an intersection type in Typescript? I don\'t understand how the resulting type differs, especially for the simple case o