pub trait Request: Encoder + Decoder + Debug {
type Response: Encoder + Decoder + Debug;
const API_KEY: u16;
const DEFAULT_API_VERSION: i16 = 0i16;
const MIN_API_VERSION: i16 = max(Self::DEFAULT_API_VERSION - 1, 0);
const MAX_API_VERSION: i16 = Self::DEFAULT_API_VERSION;
}