-- boilercode generation for binary function (run genBoilerCode12)
genBoilerCode2 :: IO()
genBoilerCode2 = do
    let pairs = [(x,y) | x <- genStrTy, y <- genStrTy]
        xs = ["-- == START : Code generated by genBoilerCode2 =="]
             ++ map genBoolFun2 pairs
             ++ map genLiftElem2 pairs
             ++ ["-- == END : Code generated by genBoilCode2 =="]
    mapM_ putStrLn xs
genBoilerCode2 :: IO()
genBoilerCode2 = do
    let pairs = [(x,y) | x <- genStrTy, y <- genStrTy]
        xs = ["-- == START : Code generated by genBoilerCode2 =="]
             ++ map genBoolFun2 pairs
             ++ map genLiftElem2 pairs
             ++ ["-- == END : Code generated by genBoilCode2 =="]
    mapM_ putStrLn xs
genBoilerCode2 = do
    let pairs = [(x,y) | x <- genStrTy, y <- genStrTy]
        xs = ["-- == START : Code generated by genBoilerCode2 =="]
             ++ map genBoolFun2 pairs
             ++ map genLiftElem2 pairs
             ++ ["-- == END : Code generated by genBoilCode2 =="]
    mapM_ putStrLn xs