use crate::{
engine::admit::Context,
io::{file, request},
};
type Borrowed<'a, C> = request::Borrowed<'a, <<<C as Context>::Native as request::Source<
<C as Context>::Inputs,
>>::Raw as request::Lower>::Target>;
type File<'a, C> = <<C as Context>::Native as file::File>::Request<'a>;
pub trait Retain<C: Context>: Sized {
unsafe fn retain(self, request: Borrowed<'_, C>, key: C::Key);
unsafe fn file(self, request: File<'_, C>, key: C::Key);
}