packages feed

adaptive-tuple 0.1.1 → 0.2.0

raw patch · 6 files changed

+152/−132 lines, 6 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Data.AdaptiveTuple: instance (Eq a) => Eq (ListTuple s a)
- Data.AdaptiveTuple: instance (Nat s) => AdaptiveTuple ListTuple s
- Data.AdaptiveTuple: instance (Nat s) => Applicative (ListTuple s)
- Data.AdaptiveTuple: instance (Show a, NatI s) => Show (ListTuple s a)
- Data.AdaptiveTuple: instance AdaptiveTuple ATuple0 D0
- Data.AdaptiveTuple: instance Applicative (ATuple0 D0)
- Data.AdaptiveTuple: instance Eq (ATuple0 s el)
- Data.AdaptiveTuple: instance Functor (ATuple0 D0)
- Data.AdaptiveTuple: instance Functor (ListTuple s)
- Data.AdaptiveTuple: instance Show (ATuple0 s el)
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[aj9R], Data a[aj9S]) => Data (ATuple1 s[aj9R] a[aj9S])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[aj9T], Data a[aj9U]) => Data (ATuple2 s[aj9T] a[aj9U])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[aj9V], Data a[aj9W]) => Data (ATuple3 s[aj9V] a[aj9W])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[aj9X], Data a[aj9Y]) => Data (ATuple4 s[aj9X] a[aj9Y])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[aj9Z], Data a[aja0]) => Data (ATuple5 s[aj9Z] a[aja0])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[aja1], Data a[aja2]) => Data (ATuple6 s[aja1] a[aja2])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[aja3], Data a[aja4]) => Data (ATuple7 s[aja3] a[aja4])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[aja5], Data a[aja6]) => Data (ATuple8 s[aja5] a[aja6])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[aja7], Data a[aja8]) => Data (ATuple9 s[aja7] a[aja8])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[aja9], Data a[ajaa]) => Data (ATuple10 s[aja9] a[ajaa])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[ajab], Data a[ajac]) => Data (ATuple11 s[ajab] a[ajac])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[ajad], Data a[ajae]) => Data (ATuple12 s[ajad] a[ajae])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[ajaf], Data a[ajag]) => Data (ATuple13 s[ajaf] a[ajag])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[ajah], Data a[ajai]) => Data (ATuple14 s[ajah] a[ajai])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[ajaj], Data a[ajak]) => Data (ATuple15 s[ajaj] a[ajak])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[ajal], Data a[ajam]) => Data (ATuple16 s[ajal] a[ajam])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[ajan], Data a[ajao]) => Data (ATuple17 s[ajan] a[ajao])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[ajap], Data a[ajaq]) => Data (ATuple18 s[ajap] a[ajaq])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[ajar], Data a[ajas]) => Data (ATuple19 s[ajar] a[ajas])
- Data.AdaptiveTuple.Reps.Lazy: instance (Data s[ajat], Data a[ajau]) => Data (ATuple20 s[ajat] a[ajau])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[aj9S]) => Eq (ATuple1 s[aj9R] a[aj9S])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[aj9U]) => Eq (ATuple2 s[aj9T] a[aj9U])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[aj9W]) => Eq (ATuple3 s[aj9V] a[aj9W])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[aj9Y]) => Eq (ATuple4 s[aj9X] a[aj9Y])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[aja0]) => Eq (ATuple5 s[aj9Z] a[aja0])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[aja2]) => Eq (ATuple6 s[aja1] a[aja2])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[aja4]) => Eq (ATuple7 s[aja3] a[aja4])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[aja6]) => Eq (ATuple8 s[aja5] a[aja6])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[aja8]) => Eq (ATuple9 s[aja7] a[aja8])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[ajaa]) => Eq (ATuple10 s[aja9] a[ajaa])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[ajac]) => Eq (ATuple11 s[ajab] a[ajac])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[ajae]) => Eq (ATuple12 s[ajad] a[ajae])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[ajag]) => Eq (ATuple13 s[ajaf] a[ajag])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[ajai]) => Eq (ATuple14 s[ajah] a[ajai])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[ajak]) => Eq (ATuple15 s[ajaj] a[ajak])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[ajam]) => Eq (ATuple16 s[ajal] a[ajam])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[ajao]) => Eq (ATuple17 s[ajan] a[ajao])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[ajaq]) => Eq (ATuple18 s[ajap] a[ajaq])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[ajas]) => Eq (ATuple19 s[ajar] a[ajas])
- Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[ajau]) => Eq (ATuple20 s[ajat] a[ajau])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[aj9S]) => Show (ATuple1 s[aj9R] a[aj9S])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[aj9U]) => Show (ATuple2 s[aj9T] a[aj9U])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[aj9W]) => Show (ATuple3 s[aj9V] a[aj9W])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[aj9Y]) => Show (ATuple4 s[aj9X] a[aj9Y])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[aja0]) => Show (ATuple5 s[aj9Z] a[aja0])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[aja2]) => Show (ATuple6 s[aja1] a[aja2])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[aja4]) => Show (ATuple7 s[aja3] a[aja4])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[aja6]) => Show (ATuple8 s[aja5] a[aja6])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[aja8]) => Show (ATuple9 s[aja7] a[aja8])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[ajaa]) => Show (ATuple10 s[aja9] a[ajaa])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[ajac]) => Show (ATuple11 s[ajab] a[ajac])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[ajae]) => Show (ATuple12 s[ajad] a[ajae])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[ajag]) => Show (ATuple13 s[ajaf] a[ajag])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[ajai]) => Show (ATuple14 s[ajah] a[ajai])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[ajak]) => Show (ATuple15 s[ajaj] a[ajak])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[ajam]) => Show (ATuple16 s[ajal] a[ajam])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[ajao]) => Show (ATuple17 s[ajan] a[ajao])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[ajaq]) => Show (ATuple18 s[ajap] a[ajaq])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[ajas]) => Show (ATuple19 s[ajar] a[ajas])
- Data.AdaptiveTuple.Reps.Lazy: instance (Show a[ajau]) => Show (ATuple20 s[ajat] a[ajau])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hB], Data a[a17hC]) => Data (ATuple11 s[a17hB] a[a17hC])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hD], Data a[a17hE]) => Data (ATuple12 s[a17hD] a[a17hE])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hF], Data a[a17hG]) => Data (ATuple13 s[a17hF] a[a17hG])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hH], Data a[a17hI]) => Data (ATuple14 s[a17hH] a[a17hI])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hJ], Data a[a17hK]) => Data (ATuple15 s[a17hJ] a[a17hK])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hL], Data a[a17hM]) => Data (ATuple16 s[a17hL] a[a17hM])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hN], Data a[a17hO]) => Data (ATuple17 s[a17hN] a[a17hO])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hP], Data a[a17hQ]) => Data (ATuple18 s[a17hP] a[a17hQ])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hR], Data a[a17hS]) => Data (ATuple19 s[a17hR] a[a17hS])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hT], Data a[a17hU]) => Data (ATuple20 s[a17hT] a[a17hU])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hh], Data a[a17hi]) => Data (ATuple1 s[a17hh] a[a17hi])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hj], Data a[a17hk]) => Data (ATuple2 s[a17hj] a[a17hk])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hl], Data a[a17hm]) => Data (ATuple3 s[a17hl] a[a17hm])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hn], Data a[a17ho]) => Data (ATuple4 s[a17hn] a[a17ho])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hp], Data a[a17hq]) => Data (ATuple5 s[a17hp] a[a17hq])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hr], Data a[a17hs]) => Data (ATuple6 s[a17hr] a[a17hs])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17ht], Data a[a17hu]) => Data (ATuple7 s[a17ht] a[a17hu])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hv], Data a[a17hw]) => Data (ATuple8 s[a17hv] a[a17hw])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hx], Data a[a17hy]) => Data (ATuple9 s[a17hx] a[a17hy])
- Data.AdaptiveTuple.Reps.Strict: instance (Data s[a17hz], Data a[a17hA]) => Data (ATuple10 s[a17hz] a[a17hA])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hA]) => Eq (ATuple10 s[a17hz] a[a17hA])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hC]) => Eq (ATuple11 s[a17hB] a[a17hC])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hE]) => Eq (ATuple12 s[a17hD] a[a17hE])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hG]) => Eq (ATuple13 s[a17hF] a[a17hG])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hI]) => Eq (ATuple14 s[a17hH] a[a17hI])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hK]) => Eq (ATuple15 s[a17hJ] a[a17hK])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hM]) => Eq (ATuple16 s[a17hL] a[a17hM])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hO]) => Eq (ATuple17 s[a17hN] a[a17hO])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hQ]) => Eq (ATuple18 s[a17hP] a[a17hQ])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hS]) => Eq (ATuple19 s[a17hR] a[a17hS])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hU]) => Eq (ATuple20 s[a17hT] a[a17hU])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hi]) => Eq (ATuple1 s[a17hh] a[a17hi])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hk]) => Eq (ATuple2 s[a17hj] a[a17hk])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hm]) => Eq (ATuple3 s[a17hl] a[a17hm])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17ho]) => Eq (ATuple4 s[a17hn] a[a17ho])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hq]) => Eq (ATuple5 s[a17hp] a[a17hq])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hs]) => Eq (ATuple6 s[a17hr] a[a17hs])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hu]) => Eq (ATuple7 s[a17ht] a[a17hu])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hw]) => Eq (ATuple8 s[a17hv] a[a17hw])
- Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a17hy]) => Eq (ATuple9 s[a17hx] a[a17hy])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hA]) => Show (ATuple10 s[a17hz] a[a17hA])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hC]) => Show (ATuple11 s[a17hB] a[a17hC])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hE]) => Show (ATuple12 s[a17hD] a[a17hE])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hG]) => Show (ATuple13 s[a17hF] a[a17hG])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hI]) => Show (ATuple14 s[a17hH] a[a17hI])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hK]) => Show (ATuple15 s[a17hJ] a[a17hK])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hM]) => Show (ATuple16 s[a17hL] a[a17hM])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hO]) => Show (ATuple17 s[a17hN] a[a17hO])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hQ]) => Show (ATuple18 s[a17hP] a[a17hQ])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hS]) => Show (ATuple19 s[a17hR] a[a17hS])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hU]) => Show (ATuple20 s[a17hT] a[a17hU])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hi]) => Show (ATuple1 s[a17hh] a[a17hi])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hk]) => Show (ATuple2 s[a17hj] a[a17hk])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hm]) => Show (ATuple3 s[a17hl] a[a17hm])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17ho]) => Show (ATuple4 s[a17hn] a[a17ho])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hq]) => Show (ATuple5 s[a17hp] a[a17hq])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hs]) => Show (ATuple6 s[a17hr] a[a17hs])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hu]) => Show (ATuple7 s[a17ht] a[a17hu])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hw]) => Show (ATuple8 s[a17hv] a[a17hw])
- Data.AdaptiveTuple.Reps.Strict: instance (Show a[a17hy]) => Show (ATuple9 s[a17hx] a[a17hy])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5A], Data a[am5B]) => Data (ATuple12 s[am5A] a[am5B])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5C], Data a[am5D]) => Data (ATuple13 s[am5C] a[am5D])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5E], Data a[am5F]) => Data (ATuple14 s[am5E] a[am5F])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5G], Data a[am5H]) => Data (ATuple15 s[am5G] a[am5H])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5I], Data a[am5J]) => Data (ATuple16 s[am5I] a[am5J])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5K], Data a[am5L]) => Data (ATuple17 s[am5K] a[am5L])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5M], Data a[am5N]) => Data (ATuple18 s[am5M] a[am5N])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5O], Data a[am5P]) => Data (ATuple19 s[am5O] a[am5P])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5Q], Data a[am5R]) => Data (ATuple20 s[am5Q] a[am5R])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5e], Data a[am5f]) => Data (ATuple1 s[am5e] a[am5f])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5g], Data a[am5h]) => Data (ATuple2 s[am5g] a[am5h])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5i], Data a[am5j]) => Data (ATuple3 s[am5i] a[am5j])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5k], Data a[am5l]) => Data (ATuple4 s[am5k] a[am5l])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5m], Data a[am5n]) => Data (ATuple5 s[am5m] a[am5n])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5o], Data a[am5p]) => Data (ATuple6 s[am5o] a[am5p])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5q], Data a[am5r]) => Data (ATuple7 s[am5q] a[am5r])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5s], Data a[am5t]) => Data (ATuple8 s[am5s] a[am5t])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5u], Data a[am5v]) => Data (ATuple9 s[am5u] a[am5v])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5w], Data a[am5x]) => Data (ATuple10 s[am5w] a[am5x])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Data s[am5y], Data a[am5z]) => Data (ATuple11 s[am5y] a[am5z])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5B]) => Eq (ATuple12 s[am5A] a[am5B])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5D]) => Eq (ATuple13 s[am5C] a[am5D])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5F]) => Eq (ATuple14 s[am5E] a[am5F])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5H]) => Eq (ATuple15 s[am5G] a[am5H])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5J]) => Eq (ATuple16 s[am5I] a[am5J])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5L]) => Eq (ATuple17 s[am5K] a[am5L])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5N]) => Eq (ATuple18 s[am5M] a[am5N])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5P]) => Eq (ATuple19 s[am5O] a[am5P])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5R]) => Eq (ATuple20 s[am5Q] a[am5R])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5f]) => Eq (ATuple1 s[am5e] a[am5f])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5h]) => Eq (ATuple2 s[am5g] a[am5h])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5j]) => Eq (ATuple3 s[am5i] a[am5j])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5l]) => Eq (ATuple4 s[am5k] a[am5l])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5n]) => Eq (ATuple5 s[am5m] a[am5n])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5p]) => Eq (ATuple6 s[am5o] a[am5p])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5r]) => Eq (ATuple7 s[am5q] a[am5r])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5t]) => Eq (ATuple8 s[am5s] a[am5t])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5v]) => Eq (ATuple9 s[am5u] a[am5v])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5x]) => Eq (ATuple10 s[am5w] a[am5x])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Eq a[am5z]) => Eq (ATuple11 s[am5y] a[am5z])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5B]) => Show (ATuple12 s[am5A] a[am5B])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5D]) => Show (ATuple13 s[am5C] a[am5D])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5F]) => Show (ATuple14 s[am5E] a[am5F])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5H]) => Show (ATuple15 s[am5G] a[am5H])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5J]) => Show (ATuple16 s[am5I] a[am5J])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5L]) => Show (ATuple17 s[am5K] a[am5L])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5N]) => Show (ATuple18 s[am5M] a[am5N])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5P]) => Show (ATuple19 s[am5O] a[am5P])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5R]) => Show (ATuple20 s[am5Q] a[am5R])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5f]) => Show (ATuple1 s[am5e] a[am5f])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5h]) => Show (ATuple2 s[am5g] a[am5h])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5j]) => Show (ATuple3 s[am5i] a[am5j])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5l]) => Show (ATuple4 s[am5k] a[am5l])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5n]) => Show (ATuple5 s[am5m] a[am5n])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5p]) => Show (ATuple6 s[am5o] a[am5p])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5r]) => Show (ATuple7 s[am5q] a[am5r])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5t]) => Show (ATuple8 s[am5s] a[am5t])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5v]) => Show (ATuple9 s[am5u] a[am5v])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5x]) => Show (ATuple10 s[am5w] a[am5x])
+ Data.AdaptiveTuple.Reps.Lazy: instance (Show a[am5z]) => Show (ATuple11 s[am5y] a[am5z])
+ Data.AdaptiveTuple.Reps.Lazy: reifyTuple12 :: Int -> [el[asKE]] -> (forall c[asKG] s[asKH]. (AdaptiveTuple c[asKG] s[asKH], Nat s[asKH]) => c[asKG] s[asKH] el[asKE] -> r[asKF]) -> r[asKF]
+ Data.AdaptiveTuple.Reps.Lazy: reifyTuple16 :: Int -> [el[asRr]] -> (forall c[asRt] s[asRu]. (AdaptiveTuple c[asRt] s[asRu], Nat s[asRu]) => c[asRt] s[asRu] el[asRr] -> r[asRs]) -> r[asRs]
+ Data.AdaptiveTuple.Reps.Lazy: reifyTuple20 :: Int -> [el[asZY]] -> (forall c[at00] s[at01]. (AdaptiveTuple c[at00] s[at01], Nat s[at01]) => c[at00] s[at01] el[asZY] -> r[asZZ]) -> r[asZZ]
+ Data.AdaptiveTuple.Reps.Lazy: reifyTuple4 :: Int -> [el[asCi]] -> (forall c[asCk] s[asCl]. (AdaptiveTuple c[asCk] s[asCl], Nat s[asCl]) => c[asCk] s[asCl] el[asCi] -> r[asCj]) -> r[asCj]
+ Data.AdaptiveTuple.Reps.Lazy: reifyTuple8 :: Int -> [el[asFB]] -> (forall c[asFD] s[asFE]. (AdaptiveTuple c[asFD] s[asFE], Nat s[asFE]) => c[asFD] s[asFE] el[asFB] -> r[asFC]) -> r[asFC]
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1btB], Data a[a1btC]) => Data (ATuple2 s[a1btB] a[a1btC])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1btD], Data a[a1btE]) => Data (ATuple3 s[a1btD] a[a1btE])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1btF], Data a[a1btG]) => Data (ATuple4 s[a1btF] a[a1btG])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1btH], Data a[a1btI]) => Data (ATuple5 s[a1btH] a[a1btI])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1btJ], Data a[a1btK]) => Data (ATuple6 s[a1btJ] a[a1btK])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1btL], Data a[a1btM]) => Data (ATuple7 s[a1btL] a[a1btM])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1btN], Data a[a1btO]) => Data (ATuple8 s[a1btN] a[a1btO])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1btP], Data a[a1btQ]) => Data (ATuple9 s[a1btP] a[a1btQ])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1btR], Data a[a1btS]) => Data (ATuple10 s[a1btR] a[a1btS])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1btT], Data a[a1btU]) => Data (ATuple11 s[a1btT] a[a1btU])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1btV], Data a[a1btW]) => Data (ATuple12 s[a1btV] a[a1btW])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1btX], Data a[a1btY]) => Data (ATuple13 s[a1btX] a[a1btY])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1btZ], Data a[a1bu0]) => Data (ATuple14 s[a1btZ] a[a1bu0])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1btz], Data a[a1btA]) => Data (ATuple1 s[a1btz] a[a1btA])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1bu1], Data a[a1bu2]) => Data (ATuple15 s[a1bu1] a[a1bu2])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1bu3], Data a[a1bu4]) => Data (ATuple16 s[a1bu3] a[a1bu4])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1bu5], Data a[a1bu6]) => Data (ATuple17 s[a1bu5] a[a1bu6])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1bu7], Data a[a1bu8]) => Data (ATuple18 s[a1bu7] a[a1bu8])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1bu9], Data a[a1bua]) => Data (ATuple19 s[a1bu9] a[a1bua])
+ Data.AdaptiveTuple.Reps.Strict: instance (Data s[a1bub], Data a[a1buc]) => Data (ATuple20 s[a1bub] a[a1buc])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1btA]) => Eq (ATuple1 s[a1btz] a[a1btA])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1btC]) => Eq (ATuple2 s[a1btB] a[a1btC])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1btE]) => Eq (ATuple3 s[a1btD] a[a1btE])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1btG]) => Eq (ATuple4 s[a1btF] a[a1btG])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1btI]) => Eq (ATuple5 s[a1btH] a[a1btI])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1btK]) => Eq (ATuple6 s[a1btJ] a[a1btK])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1btM]) => Eq (ATuple7 s[a1btL] a[a1btM])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1btO]) => Eq (ATuple8 s[a1btN] a[a1btO])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1btQ]) => Eq (ATuple9 s[a1btP] a[a1btQ])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1btS]) => Eq (ATuple10 s[a1btR] a[a1btS])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1btU]) => Eq (ATuple11 s[a1btT] a[a1btU])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1btW]) => Eq (ATuple12 s[a1btV] a[a1btW])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1btY]) => Eq (ATuple13 s[a1btX] a[a1btY])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1bu0]) => Eq (ATuple14 s[a1btZ] a[a1bu0])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1bu2]) => Eq (ATuple15 s[a1bu1] a[a1bu2])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1bu4]) => Eq (ATuple16 s[a1bu3] a[a1bu4])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1bu6]) => Eq (ATuple17 s[a1bu5] a[a1bu6])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1bu8]) => Eq (ATuple18 s[a1bu7] a[a1bu8])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1bua]) => Eq (ATuple19 s[a1bu9] a[a1bua])
+ Data.AdaptiveTuple.Reps.Strict: instance (Eq a[a1buc]) => Eq (ATuple20 s[a1bub] a[a1buc])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1btA]) => Show (ATuple1 s[a1btz] a[a1btA])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1btC]) => Show (ATuple2 s[a1btB] a[a1btC])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1btE]) => Show (ATuple3 s[a1btD] a[a1btE])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1btG]) => Show (ATuple4 s[a1btF] a[a1btG])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1btI]) => Show (ATuple5 s[a1btH] a[a1btI])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1btK]) => Show (ATuple6 s[a1btJ] a[a1btK])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1btM]) => Show (ATuple7 s[a1btL] a[a1btM])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1btO]) => Show (ATuple8 s[a1btN] a[a1btO])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1btQ]) => Show (ATuple9 s[a1btP] a[a1btQ])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1btS]) => Show (ATuple10 s[a1btR] a[a1btS])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1btU]) => Show (ATuple11 s[a1btT] a[a1btU])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1btW]) => Show (ATuple12 s[a1btV] a[a1btW])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1btY]) => Show (ATuple13 s[a1btX] a[a1btY])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1bu0]) => Show (ATuple14 s[a1btZ] a[a1bu0])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1bu2]) => Show (ATuple15 s[a1bu1] a[a1bu2])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1bu4]) => Show (ATuple16 s[a1bu3] a[a1bu4])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1bu6]) => Show (ATuple17 s[a1bu5] a[a1bu6])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1bu8]) => Show (ATuple18 s[a1bu7] a[a1bu8])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1bua]) => Show (ATuple19 s[a1bu9] a[a1bua])
+ Data.AdaptiveTuple.Reps.Strict: instance (Show a[a1buc]) => Show (ATuple20 s[a1bub] a[a1buc])
+ Data.AdaptiveTuple.Reps.Strict: reifyTuple12 :: Int -> [el[a1i8Z]] -> (forall c[a1i91] s[a1i92]. (AdaptiveTuple c[a1i91] s[a1i92], Nat s[a1i92]) => c[a1i91] s[a1i92] el[a1i8Z] -> r[a1i90]) -> r[a1i90]
+ Data.AdaptiveTuple.Reps.Strict: reifyTuple16 :: Int -> [el[a1ifM]] -> (forall c[a1ifO] s[a1ifP]. (AdaptiveTuple c[a1ifO] s[a1ifP], Nat s[a1ifP]) => c[a1ifO] s[a1ifP] el[a1ifM] -> r[a1ifN]) -> r[a1ifN]
+ Data.AdaptiveTuple.Reps.Strict: reifyTuple20 :: Int -> [el[a1ioj]] -> (forall c[a1iol] s[a1iom]. (AdaptiveTuple c[a1iol] s[a1iom], Nat s[a1iom]) => c[a1iol] s[a1iom] el[a1ioj] -> r[a1iok]) -> r[a1iok]
+ Data.AdaptiveTuple.Reps.Strict: reifyTuple4 :: Int -> [el[a1i0D]] -> (forall c[a1i0F] s[a1i0G]. (AdaptiveTuple c[a1i0F] s[a1i0G], Nat s[a1i0G]) => c[a1i0F] s[a1i0G] el[a1i0D] -> r[a1i0E]) -> r[a1i0E]
+ Data.AdaptiveTuple.Reps.Strict: reifyTuple8 :: Int -> [el[a1i3W]] -> (forall c[a1i3Y] s[a1i3Z]. (AdaptiveTuple c[a1i3Y] s[a1i3Z], Nat s[a1i3Z]) => c[a1i3Y] s[a1i3Z] el[a1i3W] -> r[a1i3X]) -> r[a1i3X]
- Data.AdaptiveTuple.Reps.Lazy: ATuple1 :: a[aj9S] -> ATuple1 s[aj9R] a[aj9S]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple1 :: a[am5f] -> ATuple1 s[am5e] a[am5f]
- Data.AdaptiveTuple.Reps.Lazy: ATuple10 :: a[ajaa] -> a[ajaa] -> a[ajaa] -> a[ajaa] -> a[ajaa] -> a[ajaa] -> a[ajaa] -> a[ajaa] -> a[ajaa] -> a[ajaa] -> ATuple10 s[aja9] a[ajaa]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple10 :: a[am5x] -> a[am5x] -> a[am5x] -> a[am5x] -> a[am5x] -> a[am5x] -> a[am5x] -> a[am5x] -> a[am5x] -> a[am5x] -> ATuple10 s[am5w] a[am5x]
- Data.AdaptiveTuple.Reps.Lazy: ATuple11 :: a[ajac] -> a[ajac] -> a[ajac] -> a[ajac] -> a[ajac] -> a[ajac] -> a[ajac] -> a[ajac] -> a[ajac] -> a[ajac] -> a[ajac] -> ATuple11 s[ajab] a[ajac]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple11 :: a[am5z] -> a[am5z] -> a[am5z] -> a[am5z] -> a[am5z] -> a[am5z] -> a[am5z] -> a[am5z] -> a[am5z] -> a[am5z] -> a[am5z] -> ATuple11 s[am5y] a[am5z]
- Data.AdaptiveTuple.Reps.Lazy: ATuple12 :: a[ajae] -> a[ajae] -> a[ajae] -> a[ajae] -> a[ajae] -> a[ajae] -> a[ajae] -> a[ajae] -> a[ajae] -> a[ajae] -> a[ajae] -> a[ajae] -> ATuple12 s[ajad] a[ajae]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple12 :: a[am5B] -> a[am5B] -> a[am5B] -> a[am5B] -> a[am5B] -> a[am5B] -> a[am5B] -> a[am5B] -> a[am5B] -> a[am5B] -> a[am5B] -> a[am5B] -> ATuple12 s[am5A] a[am5B]
- Data.AdaptiveTuple.Reps.Lazy: ATuple13 :: a[ajag] -> a[ajag] -> a[ajag] -> a[ajag] -> a[ajag] -> a[ajag] -> a[ajag] -> a[ajag] -> a[ajag] -> a[ajag] -> a[ajag] -> a[ajag] -> a[ajag] -> ATuple13 s[ajaf] a[ajag]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple13 :: a[am5D] -> a[am5D] -> a[am5D] -> a[am5D] -> a[am5D] -> a[am5D] -> a[am5D] -> a[am5D] -> a[am5D] -> a[am5D] -> a[am5D] -> a[am5D] -> a[am5D] -> ATuple13 s[am5C] a[am5D]
- Data.AdaptiveTuple.Reps.Lazy: ATuple14 :: a[ajai] -> a[ajai] -> a[ajai] -> a[ajai] -> a[ajai] -> a[ajai] -> a[ajai] -> a[ajai] -> a[ajai] -> a[ajai] -> a[ajai] -> a[ajai] -> a[ajai] -> a[ajai] -> ATuple14 s[ajah] a[ajai]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple14 :: a[am5F] -> a[am5F] -> a[am5F] -> a[am5F] -> a[am5F] -> a[am5F] -> a[am5F] -> a[am5F] -> a[am5F] -> a[am5F] -> a[am5F] -> a[am5F] -> a[am5F] -> a[am5F] -> ATuple14 s[am5E] a[am5F]
- Data.AdaptiveTuple.Reps.Lazy: ATuple15 :: a[ajak] -> a[ajak] -> a[ajak] -> a[ajak] -> a[ajak] -> a[ajak] -> a[ajak] -> a[ajak] -> a[ajak] -> a[ajak] -> a[ajak] -> a[ajak] -> a[ajak] -> a[ajak] -> a[ajak] -> ATuple15 s[ajaj] a[ajak]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple15 :: a[am5H] -> a[am5H] -> a[am5H] -> a[am5H] -> a[am5H] -> a[am5H] -> a[am5H] -> a[am5H] -> a[am5H] -> a[am5H] -> a[am5H] -> a[am5H] -> a[am5H] -> a[am5H] -> a[am5H] -> ATuple15 s[am5G] a[am5H]
- Data.AdaptiveTuple.Reps.Lazy: ATuple16 :: a[ajam] -> a[ajam] -> a[ajam] -> a[ajam] -> a[ajam] -> a[ajam] -> a[ajam] -> a[ajam] -> a[ajam] -> a[ajam] -> a[ajam] -> a[ajam] -> a[ajam] -> a[ajam] -> a[ajam] -> a[ajam] -> ATuple16 s[ajal] a[ajam]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple16 :: a[am5J] -> a[am5J] -> a[am5J] -> a[am5J] -> a[am5J] -> a[am5J] -> a[am5J] -> a[am5J] -> a[am5J] -> a[am5J] -> a[am5J] -> a[am5J] -> a[am5J] -> a[am5J] -> a[am5J] -> a[am5J] -> ATuple16 s[am5I] a[am5J]
- Data.AdaptiveTuple.Reps.Lazy: ATuple17 :: a[ajao] -> a[ajao] -> a[ajao] -> a[ajao] -> a[ajao] -> a[ajao] -> a[ajao] -> a[ajao] -> a[ajao] -> a[ajao] -> a[ajao] -> a[ajao] -> a[ajao] -> a[ajao] -> a[ajao] -> a[ajao] -> a[ajao] -> ATuple17 s[ajan] a[ajao]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple17 :: a[am5L] -> a[am5L] -> a[am5L] -> a[am5L] -> a[am5L] -> a[am5L] -> a[am5L] -> a[am5L] -> a[am5L] -> a[am5L] -> a[am5L] -> a[am5L] -> a[am5L] -> a[am5L] -> a[am5L] -> a[am5L] -> a[am5L] -> ATuple17 s[am5K] a[am5L]
- Data.AdaptiveTuple.Reps.Lazy: ATuple18 :: a[ajaq] -> a[ajaq] -> a[ajaq] -> a[ajaq] -> a[ajaq] -> a[ajaq] -> a[ajaq] -> a[ajaq] -> a[ajaq] -> a[ajaq] -> a[ajaq] -> a[ajaq] -> a[ajaq] -> a[ajaq] -> a[ajaq] -> a[ajaq] -> a[ajaq] -> a[ajaq] -> ATuple18 s[ajap] a[ajaq]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple18 :: a[am5N] -> a[am5N] -> a[am5N] -> a[am5N] -> a[am5N] -> a[am5N] -> a[am5N] -> a[am5N] -> a[am5N] -> a[am5N] -> a[am5N] -> a[am5N] -> a[am5N] -> a[am5N] -> a[am5N] -> a[am5N] -> a[am5N] -> a[am5N] -> ATuple18 s[am5M] a[am5N]
- Data.AdaptiveTuple.Reps.Lazy: ATuple19 :: a[ajas] -> a[ajas] -> a[ajas] -> a[ajas] -> a[ajas] -> a[ajas] -> a[ajas] -> a[ajas] -> a[ajas] -> a[ajas] -> a[ajas] -> a[ajas] -> a[ajas] -> a[ajas] -> a[ajas] -> a[ajas] -> a[ajas] -> a[ajas] -> a[ajas] -> ATuple19 s[ajar] a[ajas]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple19 :: a[am5P] -> a[am5P] -> a[am5P] -> a[am5P] -> a[am5P] -> a[am5P] -> a[am5P] -> a[am5P] -> a[am5P] -> a[am5P] -> a[am5P] -> a[am5P] -> a[am5P] -> a[am5P] -> a[am5P] -> a[am5P] -> a[am5P] -> a[am5P] -> a[am5P] -> ATuple19 s[am5O] a[am5P]
- Data.AdaptiveTuple.Reps.Lazy: ATuple2 :: a[aj9U] -> a[aj9U] -> ATuple2 s[aj9T] a[aj9U]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple2 :: a[am5h] -> a[am5h] -> ATuple2 s[am5g] a[am5h]
- Data.AdaptiveTuple.Reps.Lazy: ATuple20 :: a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> a[ajau] -> ATuple20 s[ajat] a[ajau]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple20 :: a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> a[am5R] -> ATuple20 s[am5Q] a[am5R]
- Data.AdaptiveTuple.Reps.Lazy: ATuple3 :: a[aj9W] -> a[aj9W] -> a[aj9W] -> ATuple3 s[aj9V] a[aj9W]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple3 :: a[am5j] -> a[am5j] -> a[am5j] -> ATuple3 s[am5i] a[am5j]
- Data.AdaptiveTuple.Reps.Lazy: ATuple4 :: a[aj9Y] -> a[aj9Y] -> a[aj9Y] -> a[aj9Y] -> ATuple4 s[aj9X] a[aj9Y]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple4 :: a[am5l] -> a[am5l] -> a[am5l] -> a[am5l] -> ATuple4 s[am5k] a[am5l]
- Data.AdaptiveTuple.Reps.Lazy: ATuple5 :: a[aja0] -> a[aja0] -> a[aja0] -> a[aja0] -> a[aja0] -> ATuple5 s[aj9Z] a[aja0]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple5 :: a[am5n] -> a[am5n] -> a[am5n] -> a[am5n] -> a[am5n] -> ATuple5 s[am5m] a[am5n]
- Data.AdaptiveTuple.Reps.Lazy: ATuple6 :: a[aja2] -> a[aja2] -> a[aja2] -> a[aja2] -> a[aja2] -> a[aja2] -> ATuple6 s[aja1] a[aja2]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple6 :: a[am5p] -> a[am5p] -> a[am5p] -> a[am5p] -> a[am5p] -> a[am5p] -> ATuple6 s[am5o] a[am5p]
- Data.AdaptiveTuple.Reps.Lazy: ATuple7 :: a[aja4] -> a[aja4] -> a[aja4] -> a[aja4] -> a[aja4] -> a[aja4] -> a[aja4] -> ATuple7 s[aja3] a[aja4]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple7 :: a[am5r] -> a[am5r] -> a[am5r] -> a[am5r] -> a[am5r] -> a[am5r] -> a[am5r] -> ATuple7 s[am5q] a[am5r]
- Data.AdaptiveTuple.Reps.Lazy: ATuple8 :: a[aja6] -> a[aja6] -> a[aja6] -> a[aja6] -> a[aja6] -> a[aja6] -> a[aja6] -> a[aja6] -> ATuple8 s[aja5] a[aja6]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple8 :: a[am5t] -> a[am5t] -> a[am5t] -> a[am5t] -> a[am5t] -> a[am5t] -> a[am5t] -> a[am5t] -> ATuple8 s[am5s] a[am5t]
- Data.AdaptiveTuple.Reps.Lazy: ATuple9 :: a[aja8] -> a[aja8] -> a[aja8] -> a[aja8] -> a[aja8] -> a[aja8] -> a[aja8] -> a[aja8] -> a[aja8] -> ATuple9 s[aja7] a[aja8]
+ Data.AdaptiveTuple.Reps.Lazy: ATuple9 :: a[am5v] -> a[am5v] -> a[am5v] -> a[am5v] -> a[am5v] -> a[am5v] -> a[am5v] -> a[am5v] -> a[am5v] -> ATuple9 s[am5u] a[am5v]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple1 s[aj9R] a[aj9S]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple1 s[am5e] a[am5f]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple10 s[aja9] a[ajaa]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple10 s[am5w] a[am5x]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple11 s[ajab] a[ajac]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple11 s[am5y] a[am5z]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple12 s[ajad] a[ajae]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple12 s[am5A] a[am5B]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple13 s[ajaf] a[ajag]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple13 s[am5C] a[am5D]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple14 s[ajah] a[ajai]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple14 s[am5E] a[am5F]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple15 s[ajaj] a[ajak]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple15 s[am5G] a[am5H]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple16 s[ajal] a[ajam]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple16 s[am5I] a[am5J]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple17 s[ajan] a[ajao]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple17 s[am5K] a[am5L]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple18 s[ajap] a[ajaq]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple18 s[am5M] a[am5N]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple19 s[ajar] a[ajas]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple19 s[am5O] a[am5P]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple2 s[aj9T] a[aj9U]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple2 s[am5g] a[am5h]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple20 s[ajat] a[ajau]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple20 s[am5Q] a[am5R]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple3 s[aj9V] a[aj9W]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple3 s[am5i] a[am5j]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple4 s[aj9X] a[aj9Y]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple4 s[am5k] a[am5l]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple5 s[aj9Z] a[aja0]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple5 s[am5m] a[am5n]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple6 s[aja1] a[aja2]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple6 s[am5o] a[am5p]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple7 s[aja3] a[aja4]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple7 s[am5q] a[am5r]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple8 s[aja5] a[aja6]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple8 s[am5s] a[am5t]
- Data.AdaptiveTuple.Reps.Lazy: data ATuple9 s[aja7] a[aja8]
+ Data.AdaptiveTuple.Reps.Lazy: data ATuple9 s[am5u] a[am5v]
- Data.AdaptiveTuple.Reps.Strict: ATuple1 :: !a[a17hi] -> ATuple1 s[a17hh] a[a17hi]
+ Data.AdaptiveTuple.Reps.Strict: ATuple1 :: !a[a1btA] -> ATuple1 s[a1btz] a[a1btA]
- Data.AdaptiveTuple.Reps.Strict: ATuple10 :: !a[a17hA] -> !a[a17hA] -> !a[a17hA] -> !a[a17hA] -> !a[a17hA] -> !a[a17hA] -> !a[a17hA] -> !a[a17hA] -> !a[a17hA] -> !a[a17hA] -> ATuple10 s[a17hz] a[a17hA]
+ Data.AdaptiveTuple.Reps.Strict: ATuple10 :: !a[a1btS] -> !a[a1btS] -> !a[a1btS] -> !a[a1btS] -> !a[a1btS] -> !a[a1btS] -> !a[a1btS] -> !a[a1btS] -> !a[a1btS] -> !a[a1btS] -> ATuple10 s[a1btR] a[a1btS]
- Data.AdaptiveTuple.Reps.Strict: ATuple11 :: !a[a17hC] -> !a[a17hC] -> !a[a17hC] -> !a[a17hC] -> !a[a17hC] -> !a[a17hC] -> !a[a17hC] -> !a[a17hC] -> !a[a17hC] -> !a[a17hC] -> !a[a17hC] -> ATuple11 s[a17hB] a[a17hC]
+ Data.AdaptiveTuple.Reps.Strict: ATuple11 :: !a[a1btU] -> !a[a1btU] -> !a[a1btU] -> !a[a1btU] -> !a[a1btU] -> !a[a1btU] -> !a[a1btU] -> !a[a1btU] -> !a[a1btU] -> !a[a1btU] -> !a[a1btU] -> ATuple11 s[a1btT] a[a1btU]
- Data.AdaptiveTuple.Reps.Strict: ATuple12 :: !a[a17hE] -> !a[a17hE] -> !a[a17hE] -> !a[a17hE] -> !a[a17hE] -> !a[a17hE] -> !a[a17hE] -> !a[a17hE] -> !a[a17hE] -> !a[a17hE] -> !a[a17hE] -> !a[a17hE] -> ATuple12 s[a17hD] a[a17hE]
+ Data.AdaptiveTuple.Reps.Strict: ATuple12 :: !a[a1btW] -> !a[a1btW] -> !a[a1btW] -> !a[a1btW] -> !a[a1btW] -> !a[a1btW] -> !a[a1btW] -> !a[a1btW] -> !a[a1btW] -> !a[a1btW] -> !a[a1btW] -> !a[a1btW] -> ATuple12 s[a1btV] a[a1btW]
- Data.AdaptiveTuple.Reps.Strict: ATuple13 :: !a[a17hG] -> !a[a17hG] -> !a[a17hG] -> !a[a17hG] -> !a[a17hG] -> !a[a17hG] -> !a[a17hG] -> !a[a17hG] -> !a[a17hG] -> !a[a17hG] -> !a[a17hG] -> !a[a17hG] -> !a[a17hG] -> ATuple13 s[a17hF] a[a17hG]
+ Data.AdaptiveTuple.Reps.Strict: ATuple13 :: !a[a1btY] -> !a[a1btY] -> !a[a1btY] -> !a[a1btY] -> !a[a1btY] -> !a[a1btY] -> !a[a1btY] -> !a[a1btY] -> !a[a1btY] -> !a[a1btY] -> !a[a1btY] -> !a[a1btY] -> !a[a1btY] -> ATuple13 s[a1btX] a[a1btY]
- Data.AdaptiveTuple.Reps.Strict: ATuple14 :: !a[a17hI] -> !a[a17hI] -> !a[a17hI] -> !a[a17hI] -> !a[a17hI] -> !a[a17hI] -> !a[a17hI] -> !a[a17hI] -> !a[a17hI] -> !a[a17hI] -> !a[a17hI] -> !a[a17hI] -> !a[a17hI] -> !a[a17hI] -> ATuple14 s[a17hH] a[a17hI]
+ Data.AdaptiveTuple.Reps.Strict: ATuple14 :: !a[a1bu0] -> !a[a1bu0] -> !a[a1bu0] -> !a[a1bu0] -> !a[a1bu0] -> !a[a1bu0] -> !a[a1bu0] -> !a[a1bu0] -> !a[a1bu0] -> !a[a1bu0] -> !a[a1bu0] -> !a[a1bu0] -> !a[a1bu0] -> !a[a1bu0] -> ATuple14 s[a1btZ] a[a1bu0]
- Data.AdaptiveTuple.Reps.Strict: ATuple15 :: !a[a17hK] -> !a[a17hK] -> !a[a17hK] -> !a[a17hK] -> !a[a17hK] -> !a[a17hK] -> !a[a17hK] -> !a[a17hK] -> !a[a17hK] -> !a[a17hK] -> !a[a17hK] -> !a[a17hK] -> !a[a17hK] -> !a[a17hK] -> !a[a17hK] -> ATuple15 s[a17hJ] a[a17hK]
+ Data.AdaptiveTuple.Reps.Strict: ATuple15 :: !a[a1bu2] -> !a[a1bu2] -> !a[a1bu2] -> !a[a1bu2] -> !a[a1bu2] -> !a[a1bu2] -> !a[a1bu2] -> !a[a1bu2] -> !a[a1bu2] -> !a[a1bu2] -> !a[a1bu2] -> !a[a1bu2] -> !a[a1bu2] -> !a[a1bu2] -> !a[a1bu2] -> ATuple15 s[a1bu1] a[a1bu2]
- Data.AdaptiveTuple.Reps.Strict: ATuple16 :: !a[a17hM] -> !a[a17hM] -> !a[a17hM] -> !a[a17hM] -> !a[a17hM] -> !a[a17hM] -> !a[a17hM] -> !a[a17hM] -> !a[a17hM] -> !a[a17hM] -> !a[a17hM] -> !a[a17hM] -> !a[a17hM] -> !a[a17hM] -> !a[a17hM] -> !a[a17hM] -> ATuple16 s[a17hL] a[a17hM]
+ Data.AdaptiveTuple.Reps.Strict: ATuple16 :: !a[a1bu4] -> !a[a1bu4] -> !a[a1bu4] -> !a[a1bu4] -> !a[a1bu4] -> !a[a1bu4] -> !a[a1bu4] -> !a[a1bu4] -> !a[a1bu4] -> !a[a1bu4] -> !a[a1bu4] -> !a[a1bu4] -> !a[a1bu4] -> !a[a1bu4] -> !a[a1bu4] -> !a[a1bu4] -> ATuple16 s[a1bu3] a[a1bu4]
- Data.AdaptiveTuple.Reps.Strict: ATuple17 :: !a[a17hO] -> !a[a17hO] -> !a[a17hO] -> !a[a17hO] -> !a[a17hO] -> !a[a17hO] -> !a[a17hO] -> !a[a17hO] -> !a[a17hO] -> !a[a17hO] -> !a[a17hO] -> !a[a17hO] -> !a[a17hO] -> !a[a17hO] -> !a[a17hO] -> !a[a17hO] -> !a[a17hO] -> ATuple17 s[a17hN] a[a17hO]
+ Data.AdaptiveTuple.Reps.Strict: ATuple17 :: !a[a1bu6] -> !a[a1bu6] -> !a[a1bu6] -> !a[a1bu6] -> !a[a1bu6] -> !a[a1bu6] -> !a[a1bu6] -> !a[a1bu6] -> !a[a1bu6] -> !a[a1bu6] -> !a[a1bu6] -> !a[a1bu6] -> !a[a1bu6] -> !a[a1bu6] -> !a[a1bu6] -> !a[a1bu6] -> !a[a1bu6] -> ATuple17 s[a1bu5] a[a1bu6]
- Data.AdaptiveTuple.Reps.Strict: ATuple18 :: !a[a17hQ] -> !a[a17hQ] -> !a[a17hQ] -> !a[a17hQ] -> !a[a17hQ] -> !a[a17hQ] -> !a[a17hQ] -> !a[a17hQ] -> !a[a17hQ] -> !a[a17hQ] -> !a[a17hQ] -> !a[a17hQ] -> !a[a17hQ] -> !a[a17hQ] -> !a[a17hQ] -> !a[a17hQ] -> !a[a17hQ] -> !a[a17hQ] -> ATuple18 s[a17hP] a[a17hQ]
+ Data.AdaptiveTuple.Reps.Strict: ATuple18 :: !a[a1bu8] -> !a[a1bu8] -> !a[a1bu8] -> !a[a1bu8] -> !a[a1bu8] -> !a[a1bu8] -> !a[a1bu8] -> !a[a1bu8] -> !a[a1bu8] -> !a[a1bu8] -> !a[a1bu8] -> !a[a1bu8] -> !a[a1bu8] -> !a[a1bu8] -> !a[a1bu8] -> !a[a1bu8] -> !a[a1bu8] -> !a[a1bu8] -> ATuple18 s[a1bu7] a[a1bu8]
- Data.AdaptiveTuple.Reps.Strict: ATuple19 :: !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> !a[a17hS] -> ATuple19 s[a17hR] a[a17hS]
+ Data.AdaptiveTuple.Reps.Strict: ATuple19 :: !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> !a[a1bua] -> ATuple19 s[a1bu9] a[a1bua]
- Data.AdaptiveTuple.Reps.Strict: ATuple2 :: !a[a17hk] -> !a[a17hk] -> ATuple2 s[a17hj] a[a17hk]
+ Data.AdaptiveTuple.Reps.Strict: ATuple2 :: !a[a1btC] -> !a[a1btC] -> ATuple2 s[a1btB] a[a1btC]
- Data.AdaptiveTuple.Reps.Strict: ATuple20 :: !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> !a[a17hU] -> ATuple20 s[a17hT] a[a17hU]
+ Data.AdaptiveTuple.Reps.Strict: ATuple20 :: !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> !a[a1buc] -> ATuple20 s[a1bub] a[a1buc]
- Data.AdaptiveTuple.Reps.Strict: ATuple3 :: !a[a17hm] -> !a[a17hm] -> !a[a17hm] -> ATuple3 s[a17hl] a[a17hm]
+ Data.AdaptiveTuple.Reps.Strict: ATuple3 :: !a[a1btE] -> !a[a1btE] -> !a[a1btE] -> ATuple3 s[a1btD] a[a1btE]
- Data.AdaptiveTuple.Reps.Strict: ATuple4 :: !a[a17ho] -> !a[a17ho] -> !a[a17ho] -> !a[a17ho] -> ATuple4 s[a17hn] a[a17ho]
+ Data.AdaptiveTuple.Reps.Strict: ATuple4 :: !a[a1btG] -> !a[a1btG] -> !a[a1btG] -> !a[a1btG] -> ATuple4 s[a1btF] a[a1btG]
- Data.AdaptiveTuple.Reps.Strict: ATuple5 :: !a[a17hq] -> !a[a17hq] -> !a[a17hq] -> !a[a17hq] -> !a[a17hq] -> ATuple5 s[a17hp] a[a17hq]
+ Data.AdaptiveTuple.Reps.Strict: ATuple5 :: !a[a1btI] -> !a[a1btI] -> !a[a1btI] -> !a[a1btI] -> !a[a1btI] -> ATuple5 s[a1btH] a[a1btI]
- Data.AdaptiveTuple.Reps.Strict: ATuple6 :: !a[a17hs] -> !a[a17hs] -> !a[a17hs] -> !a[a17hs] -> !a[a17hs] -> !a[a17hs] -> ATuple6 s[a17hr] a[a17hs]
+ Data.AdaptiveTuple.Reps.Strict: ATuple6 :: !a[a1btK] -> !a[a1btK] -> !a[a1btK] -> !a[a1btK] -> !a[a1btK] -> !a[a1btK] -> ATuple6 s[a1btJ] a[a1btK]
- Data.AdaptiveTuple.Reps.Strict: ATuple7 :: !a[a17hu] -> !a[a17hu] -> !a[a17hu] -> !a[a17hu] -> !a[a17hu] -> !a[a17hu] -> !a[a17hu] -> ATuple7 s[a17ht] a[a17hu]
+ Data.AdaptiveTuple.Reps.Strict: ATuple7 :: !a[a1btM] -> !a[a1btM] -> !a[a1btM] -> !a[a1btM] -> !a[a1btM] -> !a[a1btM] -> !a[a1btM] -> ATuple7 s[a1btL] a[a1btM]
- Data.AdaptiveTuple.Reps.Strict: ATuple8 :: !a[a17hw] -> !a[a17hw] -> !a[a17hw] -> !a[a17hw] -> !a[a17hw] -> !a[a17hw] -> !a[a17hw] -> !a[a17hw] -> ATuple8 s[a17hv] a[a17hw]
+ Data.AdaptiveTuple.Reps.Strict: ATuple8 :: !a[a1btO] -> !a[a1btO] -> !a[a1btO] -> !a[a1btO] -> !a[a1btO] -> !a[a1btO] -> !a[a1btO] -> !a[a1btO] -> ATuple8 s[a1btN] a[a1btO]
- Data.AdaptiveTuple.Reps.Strict: ATuple9 :: !a[a17hy] -> !a[a17hy] -> !a[a17hy] -> !a[a17hy] -> !a[a17hy] -> !a[a17hy] -> !a[a17hy] -> !a[a17hy] -> !a[a17hy] -> ATuple9 s[a17hx] a[a17hy]
+ Data.AdaptiveTuple.Reps.Strict: ATuple9 :: !a[a1btQ] -> !a[a1btQ] -> !a[a1btQ] -> !a[a1btQ] -> !a[a1btQ] -> !a[a1btQ] -> !a[a1btQ] -> !a[a1btQ] -> !a[a1btQ] -> ATuple9 s[a1btP] a[a1btQ]
- Data.AdaptiveTuple.Reps.Strict: data ATuple1 s[a17hh] a[a17hi]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple1 s[a1btz] a[a1btA]
- Data.AdaptiveTuple.Reps.Strict: data ATuple10 s[a17hz] a[a17hA]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple10 s[a1btR] a[a1btS]
- Data.AdaptiveTuple.Reps.Strict: data ATuple11 s[a17hB] a[a17hC]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple11 s[a1btT] a[a1btU]
- Data.AdaptiveTuple.Reps.Strict: data ATuple12 s[a17hD] a[a17hE]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple12 s[a1btV] a[a1btW]
- Data.AdaptiveTuple.Reps.Strict: data ATuple13 s[a17hF] a[a17hG]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple13 s[a1btX] a[a1btY]
- Data.AdaptiveTuple.Reps.Strict: data ATuple14 s[a17hH] a[a17hI]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple14 s[a1btZ] a[a1bu0]
- Data.AdaptiveTuple.Reps.Strict: data ATuple15 s[a17hJ] a[a17hK]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple15 s[a1bu1] a[a1bu2]
- Data.AdaptiveTuple.Reps.Strict: data ATuple16 s[a17hL] a[a17hM]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple16 s[a1bu3] a[a1bu4]
- Data.AdaptiveTuple.Reps.Strict: data ATuple17 s[a17hN] a[a17hO]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple17 s[a1bu5] a[a1bu6]
- Data.AdaptiveTuple.Reps.Strict: data ATuple18 s[a17hP] a[a17hQ]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple18 s[a1bu7] a[a1bu8]
- Data.AdaptiveTuple.Reps.Strict: data ATuple19 s[a17hR] a[a17hS]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple19 s[a1bu9] a[a1bua]
- Data.AdaptiveTuple.Reps.Strict: data ATuple2 s[a17hj] a[a17hk]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple2 s[a1btB] a[a1btC]
- Data.AdaptiveTuple.Reps.Strict: data ATuple20 s[a17hT] a[a17hU]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple20 s[a1bub] a[a1buc]
- Data.AdaptiveTuple.Reps.Strict: data ATuple3 s[a17hl] a[a17hm]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple3 s[a1btD] a[a1btE]
- Data.AdaptiveTuple.Reps.Strict: data ATuple4 s[a17hn] a[a17ho]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple4 s[a1btF] a[a1btG]
- Data.AdaptiveTuple.Reps.Strict: data ATuple5 s[a17hp] a[a17hq]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple5 s[a1btH] a[a1btI]
- Data.AdaptiveTuple.Reps.Strict: data ATuple6 s[a17hr] a[a17hs]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple6 s[a1btJ] a[a1btK]
- Data.AdaptiveTuple.Reps.Strict: data ATuple7 s[a17ht] a[a17hu]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple7 s[a1btL] a[a1btM]
- Data.AdaptiveTuple.Reps.Strict: data ATuple8 s[a17hv] a[a17hw]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple8 s[a1btN] a[a1btO]
- Data.AdaptiveTuple.Reps.Strict: data ATuple9 s[a17hx] a[a17hy]
+ Data.AdaptiveTuple.Reps.Strict: data ATuple9 s[a1btP] a[a1btQ]

Files

adaptive-tuple.cabal view
@@ -1,5 +1,5 @@ name:		adaptive-tuple-version:        0.1.1+version:        0.2.0 synopsis:       Self-optimizing tuple types description:   Self optimizing tuple types.
src/Data/AdaptiveTuple.hs view
@@ -25,13 +25,8 @@ -- using AdaptiveTuple is similar to the `ZipList` applicative instance, except -- without the overhead. -{-# LANGUAGE MultiParamTypeClasses,-             FlexibleInstances,-             FlexibleContexts,-             ScopedTypeVariables,-             Rank2Types,-             GeneralizedNewtypeDeriving,-             TemplateHaskell #-}+{-# LANGUAGE MultiParamTypeClasses+      ,Rank2Types #-}  {-# OPTIONS_GHC -fno-warn-name-shadowing #-} @@ -50,23 +45,13 @@  where -import Prelude-import qualified Prelude as P- import Data.AdaptiveTuple.AdaptiveTuple import qualified Data.AdaptiveTuple.Reps.Lazy as L import qualified Data.AdaptiveTuple.Reps.Strict as S--import Data.TypeLevel.Num+import Data.TypeLevel.Num as T -import Control.Arrow import Control.Applicative-import Control.Monad --- helper function-fI :: (Integral a, Num b) => a -> b-fI = fromIntegral- -- --------------------------------------------------  -- |Lazily convert a list of AdaptiveTuples into an AdaptiveTuple of lists.@@ -78,104 +63,17 @@ mapIndexed :: (AdaptiveTuple c s) => (Int -> a -> b) -> c s a -> c s b mapIndexed f a = f <$> toATuple [0..] <*> a ---reification function---- |run a computation using a lazy AdaptiveTuple-reifyTuple :: forall el r. Int -> [el] -> (forall c s. (AdaptiveTuple c s, Nat s) => c s el -> r) -> r-reifyTuple 0 xs f = f (toATuple xs :: ATuple0 D0 el)-reifyTuple 1  xs f = f (toATuple xs :: L.ATuple1 D1  el)-reifyTuple 2  xs f = f (toATuple xs :: L.ATuple2 D2  el)-reifyTuple 3  xs f = f (toATuple xs :: L.ATuple3 D3  el)-reifyTuple 4  xs f = f (toATuple xs :: L.ATuple4 D4  el)-reifyTuple 5  xs f = f (toATuple xs :: L.ATuple5 D5  el)-reifyTuple 6  xs f = f (toATuple xs :: L.ATuple6 D6  el)-reifyTuple 7  xs f = f (toATuple xs :: L.ATuple7 D7  el)-reifyTuple 8  xs f = f (toATuple xs :: L.ATuple8 D8  el)-reifyTuple 9  xs f = f (toATuple xs :: L.ATuple9 D9  el)-reifyTuple 10 xs f = f (toATuple xs :: L.ATuple10 D10 el)-reifyTuple 11 xs f = f (toATuple xs :: L.ATuple11 D11 el)-reifyTuple 12 xs f = f (toATuple xs :: L.ATuple12 D12 el)-reifyTuple 13 xs f = f (toATuple xs :: L.ATuple13 D13 el)-reifyTuple 14 xs f = f (toATuple xs :: L.ATuple14 D14 el)-reifyTuple 15 xs f = f (toATuple xs :: L.ATuple15 D15 el)-reifyTuple 16 xs f = f (toATuple xs :: L.ATuple16 D16 el)-reifyTuple 17 xs f = f (toATuple xs :: L.ATuple17 D17 el)-reifyTuple 18 xs f = f (toATuple xs :: L.ATuple18 D18 el)-reifyTuple 19 xs f = f (toATuple xs :: L.ATuple19 D19 el)-reifyTuple 20 xs f = f (toATuple xs :: L.ATuple20 D20 el)-reifyTuple n xs f = reifyIntegral n $ \n' -> f (makeListTuple n' xs)---- |run a computation using a strict AdaptiveTuple-reifyStrictTuple :: forall el r. Int -> [el] -> (forall c s. (AdaptiveTuple c s, Nat s) => c s el -> r) -> r-reifyStrictTuple 0 xs f = f (toATuple xs :: ATuple0 D0 el)-reifyStrictTuple 1  xs f = f (toATuple xs :: S.ATuple1 D1  el)-reifyStrictTuple 2  xs f = f (toATuple xs :: S.ATuple2 D2  el)-reifyStrictTuple 3  xs f = f (toATuple xs :: S.ATuple3 D3  el)-reifyStrictTuple 4  xs f = f (toATuple xs :: S.ATuple4 D4  el)-reifyStrictTuple 5  xs f = f (toATuple xs :: S.ATuple5 D5  el)-reifyStrictTuple 6  xs f = f (toATuple xs :: S.ATuple6 D6  el)-reifyStrictTuple 7  xs f = f (toATuple xs :: S.ATuple7 D7  el)-reifyStrictTuple 8  xs f = f (toATuple xs :: S.ATuple8 D8  el)-reifyStrictTuple 9  xs f = f (toATuple xs :: S.ATuple9 D9  el)-reifyStrictTuple 10 xs f = f (toATuple xs :: S.ATuple10 D10 el)-reifyStrictTuple 11 xs f = f (toATuple xs :: S.ATuple11 D11 el)-reifyStrictTuple 12 xs f = f (toATuple xs :: S.ATuple12 D12 el)-reifyStrictTuple 13 xs f = f (toATuple xs :: S.ATuple13 D13 el)-reifyStrictTuple 14 xs f = f (toATuple xs :: S.ATuple14 D14 el)-reifyStrictTuple 15 xs f = f (toATuple xs :: S.ATuple15 D15 el)-reifyStrictTuple 16 xs f = f (toATuple xs :: S.ATuple16 D16 el)-reifyStrictTuple 17 xs f = f (toATuple xs :: S.ATuple17 D17 el)-reifyStrictTuple 18 xs f = f (toATuple xs :: S.ATuple18 D18 el)-reifyStrictTuple 19 xs f = f (toATuple xs :: S.ATuple19 D19 el)-reifyStrictTuple 20 xs f = f (toATuple xs :: S.ATuple20 D20 el)-reifyStrictTuple n xs f = reifyIntegral n $ \n' -> f (makeListTuple n' xs)---- ---------------------------------------------------------- no-element tuple--data ATuple0 s el = ATuple0 deriving (Eq, Show)--instance Functor (ATuple0 D0) where-  fmap _ _ = ATuple0--instance Applicative (ATuple0 D0) where-  pure _  = ATuple0-  _ <*> _ = ATuple0--instance AdaptiveTuple ATuple0 D0 where-  getIndex _ _   = oObExcp "getIndex"-  setIndex _ _ _ = ATuple0-  mapIndex _ _ _ = ATuple0-  toATuple _     = ATuple0-  fromATuple _   = []-  sequenceAT _   = return ATuple0----- |A ListTuple is a List with a type-level length.--- to be used when there isn't a more specific adaptive tuple defined-newtype Nat s => ListTuple s a = ListTuple {getListTuple :: [a]}-  deriving (Eq, Functor, Show)---- |Create a ListTuple-makeListTuple :: Nat s => s -> [a] -> ListTuple s a-makeListTuple s xs | toInt s P.< P.length xs =-  error $ "input list to short to make ListTuple of length " ++-          (show $ toInt s)-makeListTuple s xs = ListTuple . P.take (toInt s) $ xs--instance Nat s => Applicative (ListTuple s) where-  pure    = pureLT-  a <*> b = ListTuple $ zipWith ($) (getListTuple a) (getListTuple b)--pureLT :: forall s a. (Nat s) => a -> ListTuple s a-pureLT = ListTuple . replicate (toInt (undefined :: s))+--default reification functions+reifyTuple ::+  forall el r.Int+  -> [el]+  -> (forall c s.(AdaptiveTuple c s, T.Nat s) => c s el -> r)+  -> r+reifyTuple = L.reifyTuple20 -instance forall s. (Nat s) => AdaptiveTuple ListTuple s where-  getIndex z i = getListTuple z !! (fI i)-  setIndex i el = ListTuple . uncurry (++) . ((++ [el]) *** P.drop 1) .-                        P.splitAt (fI i) . getListTuple-  mapIndex f i  = ListTuple . uncurry (++) . second (\(x:xs) -> f x : xs) .-                        P.splitAt (fI i) . getListTuple-  toATuple      = makeListTuple (undefined :: s)-  fromATuple    = getListTuple-  sequenceAT    = liftM ListTuple . sequence . getListTuple+reifyStrictTuple ::+  forall el r.Int+  -> [el]+  -> (forall c s.(AdaptiveTuple c s, T.Nat s) => c s el -> r)+  -> r+reifyStrictTuple = S.reifyTuple20
src/Data/AdaptiveTuple/AdaptiveTuple.hs view
@@ -1,11 +1,20 @@-{-# LANGUAGE MultiParamTypeClasses, ScopedTypeVariables, DeriveDataTypeable #-}+{-# LANGUAGE+      MultiParamTypeClasses+     ,FlexibleInstances+     ,ScopedTypeVariables+     ,GeneralizedNewtypeDeriving+     ,DeriveDataTypeable #-}  module Data.AdaptiveTuple.AdaptiveTuple (   -- *Type classes   AdaptiveTuple (..)   -- *Types   ,AdaptiveTupleException (..)-  -- *Error functions+  ,ATuple0+  ,ListTuple+  -- *Functions+  ,makeListTuple+  -- **Error functions   ,oObExcp   ,insExcp   )@@ -16,7 +25,13 @@ import Data.Data import Control.Exception import Control.Applicative+import Control.Arrow+import Control.Monad +-- helper function+fI :: (Integral a, Num b) => a -> b+fI = fromIntegral+ -- |Adaptive tuples: unboxed tuples of varying size. -- @s@ is a type-level indicator of the number of elements in the container. class (Nat s, Applicative (c s)) => AdaptiveTuple c s where@@ -44,4 +59,54 @@  insExcp :: a insExcp = throw ATupleInsufficientInput++-- -------------------------------------+-- basic adaptive tuple types++-- |no-element tuple+data ATuple0 s el = ATuple0 deriving (Eq, Show)++instance Functor (ATuple0 D0) where+  fmap _ _ = ATuple0++instance Applicative (ATuple0 D0) where+  pure _  = ATuple0+  _ <*> _ = ATuple0++instance AdaptiveTuple ATuple0 D0 where+  getIndex _ _   = oObExcp "getIndex"+  setIndex _ _ _ = ATuple0+  mapIndex _ _ _ = ATuple0+  toATuple _     = ATuple0+  fromATuple _   = []+  sequenceAT _   = return ATuple0++-- |A ListTuple is a List with a type-level length.+-- to be used when there isn't a more specific adaptive tuple defined+newtype Nat s => ListTuple s a = ListTuple {getListTuple :: [a]}+  deriving (Eq, Functor, Show)++-- |Create a ListTuple+makeListTuple :: Nat s => s -> [a] -> ListTuple s a+makeListTuple s xs | toInt s Prelude.< length xs =+  error $ "input list to short to make ListTuple of length " +++          (show $ toInt s)+makeListTuple s xs = ListTuple . take (toInt s) $ xs++instance Nat s => Applicative (ListTuple s) where+  pure    = pureLT+  a <*> b = ListTuple $ zipWith ($) (getListTuple a) (getListTuple b)++pureLT :: forall s a. (Nat s) => a -> ListTuple s a+pureLT = ListTuple . replicate (toInt (undefined :: s))++instance forall s. (Nat s) => AdaptiveTuple ListTuple s where+  getIndex z i = getListTuple z !! (fI i)+  setIndex i el = ListTuple . uncurry (++) . ((++ [el]) *** drop 1) .+                        splitAt (fI i) . getListTuple+  mapIndex f i  = ListTuple . uncurry (++) . second (\(x:xs) -> f x : xs) .+                        splitAt (fI i) . getListTuple+  toATuple      = makeListTuple (undefined :: s)+  fromATuple    = getListTuple+  sequenceAT    = liftM ListTuple . sequence . getListTuple 
src/Data/AdaptiveTuple/Reps/Lazy.hs view
@@ -2,7 +2,13 @@ -- necessary to import this module unless you need to construct -- custom reification functions. -{-# LANGUAGE TemplateHaskell, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, DeriveDataTypeable #-}+{-# LANGUAGE TemplateHaskell+      ,MultiParamTypeClasses+      ,FlexibleInstances+      ,TypeSynonymInstances+      ,Rank2Types+      ,DeriveDataTypeable #-}+ {-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-matches #-}  module Data.AdaptiveTuple.Reps.Lazy@@ -15,7 +21,7 @@ import Language.Haskell.TH (Strict (..)) import Control.Applicative -$(makeDatas NotStrict 20)+$(makeDatas NotStrict 1 20) $(deriveInstances ''ATuple1 ''D1) $(deriveInstances ''ATuple2 ''D2) $(deriveInstances ''ATuple3 ''D3)@@ -36,3 +42,9 @@ $(deriveInstances ''ATuple18 ''D18) $(deriveInstances ''ATuple19 ''D19) $(deriveInstances ''ATuple20 ''D20)++$(makeReify 4)+$(makeReify 8)+$(makeReify 12)+$(makeReify 16)+$(makeReify 20)
src/Data/AdaptiveTuple/Reps/Strict.hs view
@@ -3,7 +3,13 @@ -- It is usually not necessary to import this module except to make custom -- reification functions. -{-# LANGUAGE TemplateHaskell, MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances, DeriveDataTypeable #-}+{-# LANGUAGE TemplateHaskell+      ,MultiParamTypeClasses+      ,FlexibleInstances+      ,TypeSynonymInstances+      ,Rank2Types+      ,DeriveDataTypeable #-}+ {-# OPTIONS_GHC -funbox-strict-fields -fno-warn-unused-binds -fno-warn-unused-matches #-}  module Data.AdaptiveTuple.Reps.Strict@@ -16,7 +22,7 @@ import Language.Haskell.TH (Strict (..)) import Control.Applicative -$(makeDatas IsStrict 20)+$(makeDatas IsStrict 1 20) $(deriveInstances ''ATuple1 ''D1) $(deriveInstances ''ATuple2 ''D2) $(deriveInstances ''ATuple3 ''D3)@@ -37,3 +43,9 @@ $(deriveInstances ''ATuple18 ''D18) $(deriveInstances ''ATuple19 ''D19) $(deriveInstances ''ATuple20 ''D20)++$(makeReify 4)+$(makeReify 8)+$(makeReify 12)+$(makeReify 16)+$(makeReify 20)
src/Data/AdaptiveTuple/TH.hs view
@@ -1,10 +1,18 @@-{-# LANGUAGE TemplateHaskell, MultiParamTypeClasses, FlexibleInstances, FlexibleContexts, UndecidableInstances, DeriveDataTypeable #-}+{-# LANGUAGE+  TemplateHaskell+  ,MultiParamTypeClasses+  ,FlexibleInstances+  ,FlexibleContexts+  ,RankNTypes+  ,UndecidableInstances+  ,DeriveDataTypeable #-}  {-# OPTIONS_GHC -funbox-strict-fields -fno-warn-incomplete-patterns #-}  module Data.AdaptiveTuple.TH (  makeDatas  ,makeData+ ,makeReify  ,deriveInstances  ,deriveFunctor  ,deriveApplicative@@ -27,10 +35,35 @@ -- template type for Q Decls data T1 s a = T1 a --- |Generate "ATuple1" ... "ATupleN"-makeDatas :: Strict -> Int -> Q [Dec]-makeDatas strict n = liftM concat $ mapM (makeData strict) [1..n]+-- |Generate a reification function+makeReify :: Integer -> Q [Dec]+makeReify maxn = do+  let fname = mkName $ "reifyTuple" ++ show maxn+  let basedecl = [d| rf :: forall el r.Int -> [el] -> (forall c s. (AdaptiveTuple c s, T.Nat s) => c s el -> r) -> r; rf 0 xs f = f (toATuple xs :: T1 s el) |]+  d <- basedecl+  let [(SigD _fname typ), _] = d+  let mkclause n = do+        ([xsPat,fPat],[xsExp,fExp]) <- genPE 2+        let tupN = mkName $ "ATuple" ++ show n+        let dN   = mkName $ "D" ++ show n+        let atName = [| undefined :: $(appT (appT (conT tupN) (conT dN)) (conT ''() )) |]+        clause [litP (IntegerL n),xsPat,fPat]+         (normalB [| $fExp (helper $atName $xsExp)|]) []+  let defclause = do+        ([nPat,xsPat,fPat],[nExp,xsExp,fExp]) <- genPE 3+        clause [nPat,xsPat,fPat]+         (normalB [| T.reifyIntegral $nExp (\n' -> $fExp (makeListTuple n' $xsExp))|]) []+  cls <- mapM mkclause [0..maxn]+  defcl <- defclause+  return [SigD fname typ, FunD fname (cls++[defcl])] +helper :: (AdaptiveTuple c s, T.Nat s) => c s x -> [el] -> c s el +helper _ = toATuple++-- |Generate "ATupleN" ... "ATupleM"+makeDatas :: Strict -> Int -> Int -> Q [Dec]+makeDatas strict m n = liftM concat $ mapM (makeData strict) [m..n]+ -- |Given a value n >1, create data value "ATupleN" makeData :: Strict -> Int -> Q [Dec] makeData strict n = do@@ -96,14 +129,14 @@                                 (pf &&& bf)) [0..n]   let getClauses (NormalC name fields) = do         (aP, aV) <- genPE (length fields)-        ([eP],[eV]) <- genPE 1+        ([eP],[_eV]) <- genPE 1         let getPats n = [conP name aP, litP (integerL (fromIntegral n))]         let getBody = normalB . (aV !!)         let errC = clause [wildP, eP] (normalB [| oObExcp "getIndex" |]) []         c1 <- makeClauseOut (length fields - 1) getPats getBody         return (c1 ++ [errC])   let setClauses (NormalC name fields) = do-        ([elP,eP], [elV,eV]) <- genPE 2+        ([elP,eP], [elV,_eV]) <- genPE 2         (aP, aV) <- genPE (length fields)         let getPats n = [litP (integerL (fromIntegral n)), elP, conP name aP]         let getBody n = normalB $ appsE (conE name:replaceAt aV n elV)@@ -111,7 +144,7 @@         c1 <- makeClauseOut (length fields - 1) getPats getBody         return (c1 ++ [errC])   let mapClauses (NormalC name fields) = do-        ([fP,eP], [fV,eV]) <- genPE 2+        ([fP,eP], [fV,_eV]) <- genPE 2         (aP, aV) <- genPE (length fields)         let getPats n = [fP, litP (integerL (fromIntegral n)), conP name aP]         let getBody n = normalB $ appsE