code: function intersectionTypeAnnotation(types: Array<BabelAST>): BabelAST {
    invariant(
      types.length > 0,
      'RelayFlowBabelFactories: cannot create an intersection of 0 types',
    );
    return types.length === 1 ? types[0] : t.intersectionTypeAnnotation(types);
  }
docs: Create an intersection type if needed.
  
  TYPES[0] & TYPES[1] & ...