T5689.hs:10:36: Couldn't match expected type ‛Bool’ with actual type ‛t’ Relevant bindings include v :: t (bound at T5689.hs:10:28) r :: IORef (t -> t) (bound at T5689.hs:7:14) In the expression: v In the expression: if v then False else True T5689.hs:10:43: Couldn't match expected type ‛t’ with actual type ‛Bool’ Relevant bindings include v :: t (bound at T5689.hs:10:28) r :: IORef (t -> t) (bound at T5689.hs:7:14) In the expression: False In the expression: if v then False else True T5689.hs:10:54: Couldn't match expected type ‛t’ with actual type ‛Bool’ Relevant bindings include v :: t (bound at T5689.hs:10:28) r :: IORef (t -> t) (bound at T5689.hs:7:14) In the expression: True In the expression: if v then False else True T5689.hs:14:23: Couldn't match expected type ‛t’ with actual type ‛Bool’ Relevant bindings include c :: t -> t (bound at T5689.hs:12:13) r :: IORef (t -> t) (bound at T5689.hs:7:14) In the first argument of ‛c’, namely ‛True’ In the second argument of ‛($)’, namely ‛c True’