anchor.diff:     Attr(): super('Attr'){
        this.removeDefaultPorts();
        this.enableSubnet();
  +     this.network.removeDefaultPorts();
        
  +     this.makePort('in:elem');
        this.makePort('in:get');
        this.makePort('in:set');
  -     this.makePort('in:elem');
  +     this.makePort('in:val');
        this.makePort('out:value');
  -    
  -     this.port('in:elem').forceCondition(Elements.isElement);
  -
  -     this.port('static:option').bindPort(this.port('in:elem'));
         
  -     this.network.add('elements/GetAttr','getAttr',(com){
  -        this.port('in:elem').bindPort(com.port('in:elem'));
  -        this.port('in:get').bindPort(com.port('in:get'));
  -        com.port('out:value').bindPort(this.port('out:value'));
  -     });
  -     
  -     this.network.add('elements/SetAttr','setAttr',(com){
  -        this.port('in:elem').bindPort(com.port('in:elem'));
  -        this.port('in:set').bindPort(com.port('in:set'));
  -     });
  -    
  +     this.port('in:elem').bindPort(this.network.port('in:elem'));
  +     this.port('in:get').bindPort(this.network.port('in:get'));
  +     this.port('in:set').bindPort(this.network.port('in:set'));
  +     this.port('in:val').bindPort(this.network.port('in:val'));
  +     this.port('out:value').bindPort(this.network.port('out:value'));
  +
  +     this.network.makePort('in:elem');
  +     this.network.makePort('in:get');
  +     this.network.makePort('in:set');
  +     this.network.makePort('in:val');
  +     this.network.makePort('out:value');
  +
  +     this.network.port('in:elem').forceCondition(Elements.isElement);
  +     this.network.port('static:option').bindPort(this.port('in:elem'));
  +      
  +     this.network.add('elements/GetAttr','getAttr');
  +     this.network.add('elements/SetAttr','setAttr');
  +    
  +     this.network.ensureBinding('getAttr','in:elem','*','in:elem');
  +     this.network.ensureBinding('setAttr','in:elem','*','in:elem');
  +
  +     this.network.ensureBinding('getAttr','out:value','*','out:out');
  +     this.network.ensureBinding('getAttr','in:get','*','in:get');
  +     this.network.ensureBinding('getAttr','in:value','*','in:value');
  +
  +     this.network.ensureBinding('setAttr','in:val','*','in:val');
  +     this.network.ensureBinding('setAttr','in:set','*','in:set');
  +
      }
   }
   
  
positive.code: }
  
  class SetDataAttr extends AttrCore{
  
      SetDataAttr(){
        this.meta('id','SetDataAttr');
  
        this.makePort('in:set');
        this.makePort('out:val');
  
        this.port('in:set').forceCondition(Elements.elementExist(this.elem));
        this.port('in:set').forceCondition(Valids.isString);
  
        this.port('in:set').tap((n){
            
        });
  
      }
  
negative.code:       this.makePort('in:get');
        this.makePort('out:val');
  
        this.port('in:get').forceCondition(Elements.elementExist(this.elem));
        this.port('in:get').forceCondition(Valids.isString);
  
        this.port('in:get').tap((n){
  