floatIO :: Float -> IO Float floatIO x = x insideSum :: (Float, Float) -> Float insideSum (a,b) = a + b sumTuple :: [(Float, Float)] -> Float sumTuple [] = 0 sumTuple (x:xs) = insideSum x + sumTuple xs main = do val <- insideSum (1.1,2.2)