-- Fuzzers and exception handlers
init_fuzzer :: Options -> IO ()
init_fuzzer opts = do
  a1 <- ZipList <$> inf_Int64
  a2 <- ZipList <$> inf_Int64
  a3 <- ZipList <$> inf_Int64
  a4 <- ZipList <$> inf_Int64
  a5 <- ZipList <$> inf_Int64
  a6 <- ZipList <$> inf_Int64
  a7 <- ZipList <$> inf_Int64
  a8 <- ZipList <$> inf_Int64
  a9 <- ZipList <$> inf_Int64
  a10 <- ZipList <$> inf_Int64
  a11 <- ZipList <$> inf_Int64
  a12 <- ZipList <$> inf_Int64
  a13 <- ZipList <$> inf_Int64
  a14 <- ZipList <$> inf_Int64
  a15 <- ZipList <$> inf_Int64
  a16 <- ZipList <$> inf_Int64
  _ <- P.sequence . getZipList $ init_fuzzFunc <$> a1 <*> a2 <*> a3 <*> a4 <*> a5 <*> a6 <*> a7 <*> a8 <*> a9 <*> a10 <*> a11 <*> a12 <*> a13 <*> a14 <*> a15 <*> a16
  return ()
  where
  init_fuzzFunc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 = let param = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) in
    if opt_framed opts
    then withThriftDo opts (withFramedTransport opts) (init_fuzzOnce param) (init_exceptionHandler param)
    else withThriftDo opts (withHandle opts) (init_fuzzOnce param) (init_exceptionHandler param)
init_fuzzer :: Options -> IO ()
init_fuzzer opts = do
  a1 <- ZipList <$> inf_Int64
  a2 <- ZipList <$> inf_Int64
  a3 <- ZipList <$> inf_Int64
  a4 <- ZipList <$> inf_Int64
  a5 <- ZipList <$> inf_Int64
  a6 <- ZipList <$> inf_Int64
  a7 <- ZipList <$> inf_Int64
  a8 <- ZipList <$> inf_Int64
  a9 <- ZipList <$> inf_Int64
  a10 <- ZipList <$> inf_Int64
  a11 <- ZipList <$> inf_Int64
  a12 <- ZipList <$> inf_Int64
  a13 <- ZipList <$> inf_Int64
  a14 <- ZipList <$> inf_Int64
  a15 <- ZipList <$> inf_Int64
  a16 <- ZipList <$> inf_Int64
  _ <- P.sequence . getZipList $ init_fuzzFunc <$> a1 <*> a2 <*> a3 <*> a4 <*> a5 <*> a6 <*> a7 <*> a8 <*> a9 <*> a10 <*> a11 <*> a12 <*> a13 <*> a14 <*> a15 <*> a16
  return ()
  where
  init_fuzzFunc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 = let param = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) in
    if opt_framed opts
    then withThriftDo opts (withFramedTransport opts) (init_fuzzOnce param) (init_exceptionHandler param)
    else withThriftDo opts (withHandle opts) (init_fuzzOnce param) (init_exceptionHandler param)
init_fuzzer opts = do
  a1 <- ZipList <$> inf_Int64
  a2 <- ZipList <$> inf_Int64
  a3 <- ZipList <$> inf_Int64
  a4 <- ZipList <$> inf_Int64
  a5 <- ZipList <$> inf_Int64
  a6 <- ZipList <$> inf_Int64
  a7 <- ZipList <$> inf_Int64
  a8 <- ZipList <$> inf_Int64
  a9 <- ZipList <$> inf_Int64
  a10 <- ZipList <$> inf_Int64
  a11 <- ZipList <$> inf_Int64
  a12 <- ZipList <$> inf_Int64
  a13 <- ZipList <$> inf_Int64
  a14 <- ZipList <$> inf_Int64
  a15 <- ZipList <$> inf_Int64
  a16 <- ZipList <$> inf_Int64
  _ <- P.sequence . getZipList $ init_fuzzFunc <$> a1 <*> a2 <*> a3 <*> a4 <*> a5 <*> a6 <*> a7 <*> a8 <*> a9 <*> a10 <*> a11 <*> a12 <*> a13 <*> a14 <*> a15 <*> a16
  return ()
  where
  init_fuzzFunc a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 = let param = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) in
    if opt_framed opts
    then withThriftDo opts (withFramedTransport opts) (init_fuzzOnce param) (init_exceptionHandler param)
    else withThriftDo opts (withHandle opts) (init_fuzzOnce param) (init_exceptionHandler param)