renamed || to ||| to avoid terrible collision
integrate Gabriel Scherer\'s Generator into QCheck