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,
};