anchor.diff:  \g Dump object memory 
   \ : dump  o@ sizeof @ dump ;
   
  -\g Print attribute
  -: .attr ( "attr" -- )
  -   odepth 1- spaces @r+ dup xt>name .name ." member at " 
  -   execute dup 16 based . ." : " @ . cr ;
  +: .mbr ( nfa -- )
  +   ." member at " slotaddr dup 16 based . ." : " @ . cr ;
  +
  +: .ins ( nfa -- )
  +   slotaddr
  +   ." instance at " dup . cr
  +   >o (extend) late print extended ;
  +
  +: .slot ( nfa -- )
  +   odepth 1- spaces  dup .name dup mbr? if .mbr else .ins then ;
   
   \g Print object
   : print
  -   odepth 2 - spaces ." object at " o@ 16 based . ." :" cr .attr sizeof ;
  +   odepth 2 - spaces ." object at " o@ 16 based . ." sized " sizeof @ . cr
  +   ['] .slot forslots ;
   
   extended
   
  
positive.code: 
  \g Create member in active object
  : member ( size "name" -- ) 
     >oarena dup allot oarena> 
     create sizeof @ , sizeof +! does> @ o@ + ; immediate
  
  \g Clone active object
  : cloned ( -- clone  O: prototype -- prototype )
     >oarena here
     o@ @ wordlist !  \ Create wordlist and chain it to prototype wordlist
     sizeof here over @ cell- cell- dup allot move  \ Clone prototype data
     oarena> extended >o (extend) ;
  
  : single  (extend) parse-word (late) (extended) ;
  
  
negative.code: world clone object
  \g Prototype object
  
  object clone dummy
  dummy extend
  ' dummy handler to objhandler
  1 cells member mbr  ' mbr handler to mbrhandler
  object instance ins  ' ins handler to inshandler
  extended
  
  extended
  