function createVariableDeclaration(identifier, initializer) {
  if (!(identifier instanceof ParseTree) ||
      identifier.type !== ParseTreeType.BINDING_IDENTIFIER &&
      identifier.type !== ParseTreeType.OBJECT_PATTERN &&
      identifier.type !== ParseTreeType.ARRAY_PATTERN) {
    identifier = createBindingIdentifier(identifier);
  }

  return new VariableDeclaration(null, identifier, null, initializer);
}
@param {string|IdentifierToken|ParseTree} identifier
@param {ParseTree} initializer
@return {VariableDeclaration}