function convert_esprima_type (expression) {
  var esprima_type = expression.type;
  var esprima_type_parser_or_type = esprima_type_to_type_deducer[esprima_type];
  if (esprima_type_parser_or_type) return esprima_type_parser_or_type(expression);
  else return new IRAnyType();
}
/**
 * @param {object} expression An esprima expression
 * @returns {IRType} The IRType that is deduced from the expression or an IRAnyType
 */
@param {object} expression An esprima expression
@returns {IRType} The IRType that is deduced from the expression or an IRAnyType
@param { object } expression An esprima expression @returns { IRType } The IRType that is deduced from the expression or an IRAnyType
function convert_esprima_type (expression) {
  var esprima_type = expression.type;
  var esprima_type_parser_or_type = esprima_type_to_type_deducer[esprima_type];
  if (esprima_type_parser_or_type) return esprima_type_parser_or_type(expression);
  else return new IRAnyType();
}
function convert_esprima_type ( expression ) { var esprima_type = expression . type ; var esprima_type_parser_or_type = esprima_type_to_type_deducer [ esprima_type ] ; if ( esprima_type_parser_or_type ) return esprima_type_parser_or_type ( expression ) ; else return new IRAnyType ( ) ; }
@param {object} expression An esprima expression
 @returns {IRType} The IRType that is deduced from the expression or an IRAnyType
@param { object } expression An esprima expression @returns { IRType } The IRType that is deduced from the expression or an IRAnyType