class_docstr: Backend storage for our "array of bits" using a python array of integers up
  to some maximum number of bytes, then spilling over to a file.
  This is -not- a cache; we instead save the leftmost bits in RAM, and the
  rightmost bits (if necessary) in a file.  On open, we read from the file to
  RAM.  On close, we write from RAM to the file.
class_docstr_tok: ["Backend","storage","for","our","``","array","of","bits","''","using","a","python","array","of","integers","up","to","some","maximum","number","of","bytes",",","then","spilling","over","to","a","file",".","This","is","-not-","a","cache",";","we","instead","save","the","leftmost","bits","in","RAM",",","and","the","rightmost","bits","(","if","necessary",")","in","a","file",".","On","open",",","we","read","from","the","file","to","RAM",".","On","close",",","we","write","from","RAM","to","the","file","."]
code: def __ior__(self, other):
      assert self.num_bits == other.num_bits
  
      for bitno in range(self.num_bits):
          if self.is_set(bitno) or other.is_set(bitno):
              self.set(bitno)
          else:
              self.clear(bitno)
  
      return self
  
imports: import array
  import math
  import os
  import random
label_desc: Use image node_id 6 for calling the Array_then_file_seek_backend obj's underlying member method code with example usage: obj.__ior__(other) and returns: self