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 (ZipInputs 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 (ExpandFields 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 (ExpandFields bs (Codomains fs))) ((:$:) k f (Codomains (ExpandFieldFunction bs fs))), (~) * ((:$:) k f (ExpandFields 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', (~) [*] (ExpandFields bs (Domains ps vs)) (Codomains (ExpandFieldFunction bs (FlipVariance vs') ps vs) vs'), (~) [*] (ExpandFields 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', (~) [*] (ExpandFields bs (Codomains ps vs)) (Codomains (ExpandFieldFunction bs vs' ps vs) vs'), (~) [*] (ExpandFields 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 | |