//// [doNotWidenAtObjectLiteralPropertyAssignment.ts]
interface ITestEventInterval {
    begin: number;
}

interface IIntervalTreeNode {
    interval: ITestEventInterval;
    children?: IIntervalTreeNode[];
}

var test: IIntervalTreeNode[] = [{ interval: { begin: 0 }, children: null }]; // was error here because best common type is {}


//// [doNotWidenAtObjectLiteralPropertyAssignment.js]
var test = [{ interval: { begin: 0 }, children: null }]; // was error here because best common type is {}
