exec : {l1 l2 : Level} {I : Set l1} {O : Set l2}
       {{_ : DataSegment I}} {{_ : DataSegment O}}
       @$\rightarrow$@ CodeSegment I O @$\rightarrow$@ Context @$\rightarrow$@ Context
exec {l} {{i}} {{o}}  (cs b) c = set o c (b (get i c))