text: var Operator = require("@kaoscript/runtime").Operator;
  module.exports = function() {
  	class Foobar {
  		constructor() {
  			this.__ks_init();
  			this.__ks_cons(arguments);
  		}
  		__ks_init() {
  		}
  		__ks_cons(args) {
  			if(args.length !== 0) {
  				throw new SyntaxError("Wrong number of arguments");
  			}
  		}
  		__ks_func_foobar_0(x, y) {
  			if(arguments.length < 2) {
  				throw new SyntaxError("Wrong number of arguments (" + arguments.length + " for 2)");
  			}
  			if(x === void 0 || x === null) {
  				throw new TypeError("'x' is not nullable");
  			}
  			if(y === void 0 || y === null) {
  				throw new TypeError("'y' is not nullable");
  			}
  			if(Operator.addOrConcat(x, y) === 0) {
  				return 42;
  			}
  			return null;
  		}
  		foobar() {
  			if(arguments.length === 2) {
  				return Foobar.prototype.__ks_func_foobar_0.apply(this, arguments);
  			}
  			throw new SyntaxError("Wrong number of arguments");
  		}
  		__ks_func_quxbaz_0(x, y) {
  			if(arguments.length < 2) {
  				throw new SyntaxError("Wrong number of arguments (" + arguments.length + " for 2)");
  			}
  			if(x === void 0 || x === null) {
  				throw new TypeError("'x' is not nullable");
  			}
  			if(y === void 0 || y === null) {
  				throw new TypeError("'y' is not nullable");
  			}
  			return (Operator.addOrConcat(x, y) === 0) ? 42 : 24;
  		}
  		quxbaz() {
  			if(arguments.length === 2) {
  				return Foobar.prototype.__ks_func_quxbaz_0.apply(this, arguments);
  			}
  			throw new SyntaxError("Wrong number of arguments");
  		}
  	}
  };