merged semantics of IO and local vars