anchor.diff:          bte.setTypeArguments( new InferredTypeArguments(null) );
           bte.setPrimary($primary);
           bte.setIdentifier($qualifiedTypeReference.identifier);
  +        bte.setMemberOperator($qualifiedMemberReference.operator);
           if ($qualifiedTypeReference.typeArgumentList!=null) {
               bte.setTypeArguments($qualifiedTypeReference.typeArgumentList);
           }
  
positive.code:     ;
      
  unionType returns [StaticType type]
      @init { UnionType ut = new UnionType(null);
              ut.addStaticType($type); }
      : it1=intersectionType
        { $type = $it1.type; }
        ( 
          (
            UNION_OP
  
negative.code:       { $type=$t.type; }
        (
          DEFAULT_OP 
          { UnionType ot = new UnionType(null);
            CommonToken tok = new CommonToken($DEFAULT_OP);
            tok.setText("Nothing");
            BaseType bt = new BaseType($DEFAULT_OP);
            bt.setIdentifier( new Identifier(tok) );
            ot.addStaticType(bt);
            ot.addStaticType($type);
            $type=ot; }
        | ARRAY 
          { UnionType ot = new UnionType(null);
            CommonToken tok = new CommonToken($ARRAY);
            tok.setText("Empty");
            BaseType bt = new BaseType($ARRAY);
  