read` n Rd s = (fromJust (fromDyn (s.store !! n)), s)
read` n (Wrt a) s = (a,{s&store=updateAt n (toDyn a) s.store})
read` n (Updt f) s=:{store}
read` n Rd s = (fromJust (fromDyn (s.store !! n)), s)
read` n (Wrt a) s = (a,{s&store=updateAt n (toDyn a) s.store})
read` n (Updt f) s=:{store}