anchor.diff:              expect(target[i], source1[i] || source2[i]);
             }
             expect(target, source2 | source1);
  +          var other = new BitList(99);
  +          expect(() => other | source1, throwsArgumentError);
  +          expect(() => source1 | other, throwsArgumentError);
           });
           test('difference', () {
             var source1 = new BitList.from(randomBools(364, 100));
  
positive.code:                   expect(target[i], source[i + shift]);
                  }
                }
                expect(() => source << -1 - shift, throwsArgumentError);
              }
            }
          });
        });
  
negative.code:         });
          test('writing', () {
            for (var len = 0; len < 100; len++) {
              var source = randomBools(396 * len, len);
              var target = new BitList(len);
              expect(() => target[-1] = true, throwsRangeError);
              for (var i = 0; i < len; i++) {
  