main = () where when ?x <- ?y then True -- 3:10-3:12: Existential variable ?x is referred only once. Replace by _ if this is a wildcard. 3:10-3:18: Cannot solve the query. 3:16-3:18: Existential variable ?y is referred only once. Replace by _ if this is a wildcard. -- import "Prelude" main = getRef r where r = ref 1 when True then Foo () when Foo _ then r := 2 -- 2