rand :: Float -> Float -> Float
rand min max = unsafePerformIO $ do
                 gen <- newStdGen
                 let (prob, _) = randomR (min,max) gen :: (Float, StdGen)
                 return prob
rand :: Float -> Float -> Float
rand min max = unsafePerformIO $ do
                 gen <- newStdGen
                 let (prob, _) = randomR (min,max) gen :: (Float, StdGen)
                 return prob
rand min max = unsafePerformIO $ do
                 gen <- newStdGen
                 let (prob, _) = randomR (min,max) gen :: (Float, StdGen)
                 return prob