fact: CoFixpoint store {s} (init : s) : semantics (STORE s) := mk_semantics (fun α (e : STORE s α) => match e with | Get => (init, store init) | Put next => (tt, store next) end).
imports: Coq(Program Setoid Morphisms) ExtLib(Monad StateMonad)