dist/decorators.js
function trampoline(fn) {
    return curry(fn.length, function () {
      for (var _len10 = arguments.length, args = Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
        args[_key10] = arguments[_key10];
      }

      var result = fn.apply(this, args);
      while (_extractHiddenClass(result) === 'Function') {
        result = result();
      }
      return result;
    });
  }
function trampoline(fn) {
    return curry(fn.length, function () {
      for (var _len10 = arguments.length, args = Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
        args[_key10] = arguments[_key10];
      }

      var result = fn.apply(this, args);
      while (_extractHiddenClass(result) === 'Function') {
        result = result();
      }
      return result;
    });
  }
function trampoline ( fn ) { return curry ( fn . length , function ( ) { for ( var _len10 = arguments . length , args = Array ( _len10 ) , _key10 = 0 ; _key10 < _len10 ; _key10 ++ ) { args [ _key10 ] = arguments [ _key10 ] ; } var result = fn . apply ( this , args ) ; while ( _extractHiddenClass ( result ) === 'Function' ) { result = result ( ) ; } return result ; } ) ; }
trampoline :: (* -> *) -> (* -> *)
trampoline :: ( * - > * ) - > ( * - > * )