code: def as_bitcode(self):
          
          ptr = c_char_p(None)
          size = c_size_t(-1)
          ffi.lib.LLVMPY_WriteBitcodeToString(self, byref(ptr), byref(size))
          if not ptr:
              raise MemoryError
          try:
              assert size.value >= 0
              return string_at(ptr, size.value)
          finally:
              ffi.lib.LLVMPY_DisposeString(ptr)
docs: Return the module's LLVM bitcode, as a bytes object.