pub type PolyFnSig = Binder<FnSig>;
struct PolyFnSig(FnSig, Interned<[BoundVariableKind]>);
0: FnSig
1: Interned<[BoundVariableKind]>