// Generated by Akira v0.0.1
!function() {

var FunctionExpression;
var _$tg = require('tg').tg;
FunctionExpression = function (id, params, body) {
  _$tg([
    _$tg.Maybe(Object),
    Array,
    Array
  ], [
    id,
    params,
    body
  ]);
  return _$tg(Object, function () {
    return {
      type: 'FunctionExpression',
      id: id,
      params: params,
      body: {
        type: 'BlockStatement',
        body: body
      }
    };
  }.apply(this, arguments));
};
return module.exports = FunctionExpression;
}();