-- boilercode generation for unary functions (run genBoilerCode11, copy stdout and paste in code)
genBoilerCode1 :: IO()
genBoilerCode1 = do
    -- let pairs = [(x,y) | x <- genStrTy, y <- genStrTy]
    putStrLn "-- == START : Code generated by genBoilerCode1 =="
    mapM_ putStrLn $ map genBoolFun1 genStrTy
    mapM_ putStrLn $ map genLiftElem1 genStrTy
    putStrLn "-- == END : Code generated by genBoilerCode1 =="


-- binary functions
genBoilerCode1 :: IO()
genBoilerCode1 = do
    -- let pairs = [(x,y) | x <- genStrTy, y <- genStrTy]
    putStrLn "-- == START : Code generated by genBoilerCode1 =="
    mapM_ putStrLn $ map genBoolFun1 genStrTy
    mapM_ putStrLn $ map genLiftElem1 genStrTy
    putStrLn "-- == END : Code generated by genBoilerCode1 =="


-- binary functions
genBoilerCode1 = do
    -- let pairs = [(x,y) | x <- genStrTy, y <- genStrTy]
    putStrLn "-- == START : Code generated by genBoilerCode1 =="
    mapM_ putStrLn $ map genBoolFun1 genStrTy
    mapM_ putStrLn $ map genLiftElem1 genStrTy
    putStrLn "-- == END : Code generated by genBoilerCode1 =="


-- binary functions