| AdaptFieldFunction n ([] (Field *)) ps | |
| (MZipWith k n f (ExpandFieldFunction n bs ps), (~) * (ZipInput n (ZipWithType' k n f (ExpandFieldFunction n bs ps))) (ZipWithType k n f (ExpandFieldFunction n bs ps)), AdaptFieldFunction n bs ps, AdaptFieldFunction n as ps) => AdaptFieldFunction n ((:) (Field *) ((:@:) * k f bs) as) ps | |
| (HLookup m n ps, (~) * (ZipInput n ((:!:) ps m)) ((:!:) (ZipInputs n ps) m), AdaptFieldFunction n as ps) => AdaptFieldFunction n ((:) (Field *) (FP * m) as) ps | |
| AdaptFieldMonoid ([] (Field *)) fs | |
| AdaptFieldFunction ([] (Field *)) fs t | |
| AdaptFieldFunction ([] (Field *)) ([] Variance) ps vs | |
| (MFoldable k f (ExpandField bs fs), AdaptFieldMonoid bs fs, AdaptFieldMonoid as fs) => AdaptFieldMonoid ((:) (Field *) ((:@:) * k f bs) as) fs | |
| (GFPMFoldable n fs, AdaptFieldMonoid as fs) => AdaptFieldMonoid ((:) (Field *) (FP * n) as) fs | |
| AdaptFieldMonoid as fs => AdaptFieldMonoid ((:) (Field *) (FK * a) as) fs | |
| (MTraversable k f (ExpandFieldFunction bs fs) t, (~) * ((:$:) k f (ExpandField bs (Codomains fs))) ((:$:) k f (Codomains (ExpandFieldFunction bs fs))), (~) * ((:$:) k f (ExpandField bs (Domains fs))) ((:$:) k f (Domains (ExpandFieldFunction bs fs))), AdaptFieldFunction bs fs t, AdaptFieldFunction as fs t) => AdaptFieldFunction ((:) (Field *) ((:@:) * k f bs) as) fs t | |
| (GFPMTraversable n fs t, AdaptFieldFunction as fs t, (~) [*] (AppMap ((:) * ((:!:) fs n) (ExpandFieldFunction as fs)) t) ((:) * ((:!:) (Domains fs) n -> t ((:!:) (Codomains fs) n)) (AppMap (ExpandFieldFunction as fs) t))) => AdaptFieldFunction ((:) (Field *) (FP * n) as) fs t | |
| AdaptFieldFunction as fs t => AdaptFieldFunction ((:) (Field *) (FK * a) as) fs t | |
| (MFunctor k f (ExpandFieldFunction bs (FlipVariance vs') ps vs) vs', (~) [*] (ExpandField bs (Domains ps vs)) (Codomains (ExpandFieldFunction bs (FlipVariance vs') ps vs) vs'), (~) [*] (ExpandField bs (Codomains ps vs)) (Domains (ExpandFieldFunction bs (FlipVariance vs') ps vs) vs'), AdaptFieldFunction bs (FlipVariance vs') ps vs, AdaptFieldFunction as vfs ps vs) => AdaptFieldFunction ((:) (Field *) ((:@:) * k f bs) as) ((:) Variance ContraV vfs) ps vs | |
| (MFunctor k f (ExpandFieldFunction bs vs' ps vs) vs', (~) [*] (ExpandField bs (Codomains ps vs)) (Codomains (ExpandFieldFunction bs vs' ps vs) vs'), (~) [*] (ExpandField bs (Domains ps vs)) (Domains (ExpandFieldFunction bs vs' ps vs) vs'), AdaptFieldFunction bs vs' ps vs, AdaptFieldFunction as vfs ps vs) => AdaptFieldFunction ((:) (Field *) ((:@:) * k f bs) as) ((:) Variance CoV vfs) ps vs | |
| (GFPMFunctor [Variance] n ps vs, AdaptFieldFunction as vfs ps vs, (~) * (Flip ((:!:) ps n)) ((:!:) (Domains ps vs) n -> (:!:) (Codomains ps vs) n)) => AdaptFieldFunction ((:) (Field *) (FP * n) as) ((:) Variance ContraV vfs) ps vs | |
| (GFPMFunctor [Variance] n ps vs, AdaptFieldFunction as vfs ps vs, (~) * ((:!:) ps n) ((:!:) (Domains ps vs) n -> (:!:) (Codomains ps vs) n)) => AdaptFieldFunction ((:) (Field *) (FP * n) as) ((:) Variance CoV vfs) ps vs | |
| AdaptFieldFunction as vfs ps vs => AdaptFieldFunction ((:) (Field *) (FK * a) as) ((:) Variance v vfs) ps vs | |