Если интересно :
module StateUtil where
import Graphics.Rendering.OpenGL
import Data.IORef
import Graphics.UI.GLUT
instance HasSetter IORef where
($=) var val = writeIORef var val
instance HasGetter IORef where
get var = readIORef var
new = newIORef
Тебе ж ясно компилятор написал, что инстанс определен дважды. Убери объявления инстансов в своем коде. Если тебе нужно поменять определение операций в для какого-то типа, то я сам не знаю что делать, тоже было бы интересно узнать ответ на этот вопрос.