fn extract_proto_arguments( cls: &Type, py: &Ident, method_args: &[FnArg<'_>], proto_args: &[Ty], extract_error_mode: ExtractErrorMode) -> Result<(Vec<Ident>, usize, TokenStream)>