pub trait ResponseHandler {
type Response;
type Query: RpcType;
// Required method
fn process_response(
&self,
responses: Vec<<Self::Query as RpcType>::Response>,
) -> Result<Self::Response, QueryError<<Self::Query as RpcType>::Error>>;
// Provided method
fn request_amount(&self) -> usize { ... }
}