--- /dev/null
+import "Prelude"
+
+countDown :: Ref Integer -> <Proc> Boolean
+countDown r = if currentValue <= 0
+ then False
+ else do
+ r := currentValue - 1
+ True
+ where
+ currentValue = getRef r
+
+strangeLoop :: (<Proc> Boolean) -> <Proc> ()
+strangeLoop cond = if cond
+ then strangeLoop cond
+ else ()
+
+main = do
+ r = ref 100000 :: Ref Integer
+ strangeLoop (countDown r)
+--
+()
\ No newline at end of file