docs: def batch_message_from_parts(cls, messages):
          '''Convert messages, one per batch item, into a batch message.  At
          least one message must be passed.
          '''
          # Comma-separate the messages and wrap the lot in square brackets
          middle = b', '.join(messages)
          if not middle:
              raise ProtocolError.empty_batch()
          return b''.join([b'[', middle, b']'])