At the risk of bikeshedding things to death:
Another option on that front is to just remove the concept of a "GettableStateVar" entirely and substitute 'IO', then 'get' is 'id' or even 'liftIO' and there is no dilemma about whether to use a GettableStateVar or a boring IO action -- and you aren't playing catchup writing instance after instance.
type GettableStateVar = IO
would just work.
-Edward