docs: def load_bytecode(self, f):
          """Loads bytecode from a file or file like object."""
          # make sure the magic header is correct
          magic = f.read(len(bc_magic))
          if magic != bc_magic:
              self.reset()
              return
          # the source code of the file changed, we need to reload
          checksum = pickle.load(f)
          if self.checksum != checksum:
              self.reset()
              return
          # now load the code.  Because marshal is not able to load
          # from arbitrary streams we have to work around that
          if isinstance(f, file):
              self.code = marshal.load(f)
          else:
              self.code = marshal.loads(f.read())