function createVariableDeclarationList(binding,
                                              identifierOrDeclarations,
                                              initializer = undefined) {
  if (identifierOrDeclarations instanceof Array) {
    let declarations = identifierOrDeclarations;
    return new VariableDeclarationList(null, binding, declarations);
  }

  let identifier = identifierOrDeclarations;
  return createVariableDeclarationList(
      binding, [createVariableDeclaration(identifier, initializer)]);
}
@param {TokenType} binding
@param {IdentifierToken|Array.<VariableDeclaration>} identifierOrDeclarations
@param {ParseTree=} initializer
@return {VariableDeclarationList}