async fn rewrite_items<F>(
    tx: &mut Transaction<'_>,
    cat: &ConnCatalog<'_>,
    f: F
) -> Result<(), Error>where
    F: for<'a> FnMut(&'a mut Transaction<'_>, &'a &ConnCatalog<'_>, GlobalId, &'a mut Statement<Raw>) -> BoxFuture<'a, Result<(), Error>>,