docs: def from_bytes(cls, bitstream):
          '''
          Look at the type of the message, instantiate the correct class and
          let it parse the message.
          '''
          from pylisp.packet.lisp.control import type_registry
  
          # Convert to ConstBitStream (if not already provided)
          if not isinstance(bitstream, ConstBitStream):
              if isinstance(bitstream, Bits):
                  bitstream = ConstBitStream(auto=bitstream)
              else:
                  bitstream = ConstBitStream(bytes=bitstream)
  
          # Peek at the bitstream to see which type it is
          type_nr = bitstream.peek('uint:4')
  
          # Look for the right class
          type_class = type_registry.get_type_class(type_nr)
          if not type_class:
              raise ValueError("Can't handle message type {0}".format(type_nr))
  
          # Let the specific class handle it from now on
          return type_class.from_bytes(bitstream)