fn all_mir_bodies<'db>(
db: &'db dyn HirDatabase,
def: InferBodyId<'db>,
cb: impl FnMut(&'db MirBody<'db>, Either<InferBodyId<'db>, InternedClosureId<'db>>) -> BorrowckResult<'db>,
merge_from_closures: impl FnMut((&mut BorrowckResult<'db>, &'db MirBody<'db>), (&BorrowckResult<'db>, &'db MirBody<'db>)),
) -> Result<Box<[BorrowckResult<'db>]>, MirLowerError<'db>>