func decodeBytes<R: Message.Request>(requestType: R.Type) -> R.Response { guard let next = responseSubSections.next() else { fatalError("レスポンス個数不一致") } return R.Response.init(decode: next) } return (repeat decodeBytes(requestType: (each Request).self))
ここが突破口なんだな。これはすごい。