type IFilterTypes = 'multicheckbox' | 'range' | 'select';
interface IFilterCheckbox {
  active: boolean;
  disabled: boolean;
  name: string;
  code: string;
}
interface IFilterSelect {
  active: boolean;
  disabled: boolean;
  name: string;
  code: string;
}
interface IFilterRange {
  userValue: string | null;
  value: string;
  code: 'min' | 'max';
}
interface IFilter {
  type: IFilterTypes;
  name: string;
  code: string;
  list: Array<IFilterCheckbox | IFilterSelect | IFilterRange>; 
}
Проблема начинается, когда я пытаюсь тем или иным способом обработать массив
https://www.typescriptlang.org/play?#code/C4TwDgpg...
list: Array<IFilterCheckbox | IFilterSelect | IFilterRange>;
Такой формат видимо не верный, т.к. TS ругается, что 
IFilterRange не содержит поля 
IFilterCheckbox
Перерыл интернет, но я не смог найти ответа. Либо не знаю, как правильно составить запрос в гугл!
Как вообще быть в таких случаях?