Arbitrary data generation for javascript, based on Haskell's quickcheck