declare X C MyN MyName={NewName} in X=test(a 2:b MyName:z) {Browse X} [_ _ MyN] = {Arity X} {Browse X.MyN} %------------------------------ declare proc {NewWrapper ?Wrap ?Unwrap} Key={NewName} in fun {Wrap X} fun {$ K} if K==Key then X end end end fun {Unwrap C} try {C Key} catch _ then raise error(unwrap( C)) end end end end Wrap Unwrap U W {NewWrapper Wrap Unwrap} {NewWrapper W U} X={Wrap [a]} {Show X} {Show {Unwrap X}} {Show {X 'key'}} {Show {U X}} %------------------------ declare C={NewChunk X} in {Browse {Arity C}}