pub fn extract_result_types(ty: &Type) -> Option<(Type, Type)>
Check if a type is Result<T, E> and extract T and E