{-# OPTIONS_GHC -ddump-rule-firings #-}

module Test (test) where

import Data.Array.ST
import Data.Array.Unboxed

test bounds = m
  where m = runSTUArray $ do
              a <- newArray bounds 0

              a' <- unsafeFreeze a
              a'' <- unsafeThaw a'
              let _ = a' :: UArray Int Int
                  _ = a'' `asTypeOf` a


              return a
