var a: { numVal: number };
var a: { numVal: number };
var a: { numVal: number, [indexer: string]: number, };
var a: ?{ numVal: number };
var a: { numVal: number, strVal: string, };
var a: { subObj: { strVal: string } };
var a: { subObj: ?{ strVal: string } };
var a: { param1: number, param2: string, };
var a: { param1: number, param2?: string, };
var a: { [a: number]: string, [b: number]: string, };
