(ds,ss) <- lookup i $ functions state
let m = foldr (\((Decl t i),v) m -> insert i v m) empty $ zip ds vs
in modify (\s -> s{variables=[m]})
(ds,ss) <- lookup i $ functions state
let m = foldr (\((Decl t i),v) m -> insert i v m) empty $ zip ds vs
in modify (\s -> s{variables=[m]})