anchor.diff:        }
       }
       // if no item found, the value itself is probably the index
  -    return value;
  +    return (value is num) ? value : int.parse(value);
     }
   
     String valueForNode(Element node) =>
  
positive.code:     }
    }
  
    valueToIndex(value) {
      var allItems = items;
      // find an item with value == value and return it's index
      for (var i = 0; i < allItems.length; i++) {
  
negative.code:   @published bool notap = false;
    @published dynamic selectedModel = null;
  
    List<Element> items = [];
  
    MutationObserver _observer;
  
    SparkSelector.created(): super.created() {
      if (target == null) {
        target = this;
      }
    }
  
    @override
    void ready() {
      super.ready();
      _observer = new MutationObserver(_onMutation);
      _observer.observe(shadowRoot, childList: true, subtree: true);
    }
  
    void _onMutation(List<MutationRecord> mutations, MutationObserver observer) {
      updateItems();
      updateSelected();
    }
  
    void updateItems() {
      List nodes = null;
      if (target == this) {
        nodes = ($['items'] as dynamic).getDistributedNodes();
  