code: function generateInputs(env, args, size) {
      return env.map(args, function(arg) {
          return env.arb(arg, size);
      });
  }
docs: # QuickCheck
  
  QuickCheck is a form of *automated specification testing*. Instead
  of manually writing tests cases like so:
  
  assert(0 + 1 == 1);
  assert(1 + 1 == 2);
  assert(3 + 3 == 6);
  
  We can just write the assertion algebraicly and tell QuickCheck to
  automaticaly generate lots of inputs:
  
  bilby.forAll(
  function(n) {
  return n + n == 2 * n;
  },
  [Number]
  ).fold(
  function(fail) {
  return "Failed after " + fail.tries + " tries: " + fail.inputs.toString();
  },
  "All tests passed!"
  )