pub fn serialize<T: Serialize, S: Serializer, E: Serialize>(
    val: &Result<Request<T>, E>,
    ser: S
) -> Result<S::Ok, S::Error>