make :: (PrimMonad m, R.MonadRef r m) => Int -> m (UFSet r m) 
make n = liftM2 UFSet (R.new n) (V.thaw $ V.fromList [0 .. n - 1])
make :: (PrimMonad m, R.MonadRef r m) => Int -> m (UFSet r m)
make n = liftM2 UFSet (R.new n) (V.thaw $ V.fromList [0 .. n - 1])
make n = liftM2 UFSet (R.new n) (V.thaw $ V.fromList [0 .. n - 1])