1 2 3 4 5 6 7 8 9 10 11 12 13
use super::type_app::*;
// NaturalTransformation f1 f2 = forall x. f1 x -> f2 x
pub trait NaturalTransformation<'a, F1, F2>
where
F1: TyCon,
F2: TyCon,
{
fn lift<A: 'a>(
self,
fa: App<'a, F1, A>,
) -> App<'a, F2, A>;
}