すみませんIO関数の使い方で解らなくなったのですが

func1 :: Int -> IO (Int, Int)
func1 n = do
let n' = func2 n
return (n, n')

func2 :: Int -> Int
func2 n = n * 2

IO関数の結果を通常の名前に束縛しようとしたら
(v1, v2) = func1 エラーになりました。

IO関数の返値を取り出して通常の変数に束縛して、
通常の関数に引き渡し計算をしたいのですが
その方法をもし知ってましたら教えて下さい。