{-# LANGUAGE TypeFamilies, CPP, ViewPatterns, MagicHash, UnboxedTuples, PatternGuards, FlexibleContexts, FlexibleInstances #-}
{-# OPTIONS_GHC -fno-warn-overlapping-patterns #-}
module Data.Set.Unboxed (
USet
, US
, Boxed(Boxed, getBoxed)
, Size
, (\\)
, null
, size
, member
, notMember
, isSubsetOf
, isProperSubsetOf
, empty
, singleton
, insert
, delete
, union, unions
, difference
, intersection
, filter
, partition
, split
, splitMember
, map
, mapMonotonic
, fold
, findMin
, findMax
, deleteMin
, deleteMax
, deleteFindMin
, deleteFindMax
, maxView
, minView
, elems
, toList
, fromList
, toAscList
, fromAscList
, fromDistinctAscList
, showTree
, showTreeWith
, valid
) where
import Prelude hiding (filter,foldr,null,map)
import qualified Data.List as List
import Data.Monoid (Monoid(..))
import Data.Word
import Data.Int
import Data.Complex
#if __GLASGOW_HASKELL__
import Text.Read
#endif
infixl 9 \\
(\\) :: (US a, Ord a) => USet a -> USet a -> USet a
m1 \\ m2 = difference m1 m2
type Size = Int
data Set a = Tip
| Bin {-# UNPACK #-} !Size !a !(USet a) !(USet a)
class US a where
data USet a
view :: USet a -> Set a
viewk :: b -> (Size -> a -> USet a -> USet a -> b) -> USet a -> b
viewk f k x = case view x of
Bin s i l r -> k s i l r
Tip -> f
viewBin :: USet a -> (# a, USet a, USet a #)
viewBin x = case view x of
Bin _ i l r -> (# i, l, r #)
Tip -> error "Data.Set.Unboxed.viewBin"
size :: USet a -> Size
size = viewk 0 size' where
size' s _ _ _ = s
null :: USet a -> Bool
null x = size x == 0
tip :: USet a
bin :: Size -> a -> USet a -> USet a -> USet a
balance :: a -> USet a -> USet a -> USet a
balance x l r
| sizeL + sizeR <= 1 = bin sizeX x l r
| sizeR >= delta*sizeL = case viewBin r of
(# v, ly, ry #)
| size ly < ratio*size ry -> bin_ v (bin_ x l ly) ry
| (# x3, t2, t3 #) <- viewBin ly -> bin_ x3 (bin_ x l t2) (bin_ v t3 ry)
| sizeL >= delta*sizeR = case viewBin l of
(# v, ly, ry #)
| size ry < ratio*size ly -> bin_ v ly (bin_ x ry r)
| (# x3, t2, t3 #) <- viewBin ry -> bin_ x3 (bin_ v ly t2) (bin_ x t3 r)
| otherwise = bin sizeX x l r
where
sizeL = size l
sizeR = size r
sizeX = sizeL + sizeR + 1
instance (US a, Ord a) => Monoid (USet a) where
mempty = empty
mappend = union
mconcat = unions
member :: (US a, Ord a) => a -> USet a -> Bool
member x = go where
cmpx = compare x
go = viewk False $ \_ y l r -> case cmpx y of
LT -> go l
GT -> go r
EQ -> True
notMember :: (US a, Ord a) => a -> USet a -> Bool
notMember x t = not $ member x t
empty :: US a => USet a
empty = tip
singleton :: US a => a -> USet a
singleton x = bin 1 x tip tip
delete :: (US a, Ord a) => a -> USet a -> USet a
delete x = go where
go = viewk tip $ \ _ y l r -> case compare x y of
LT -> balance y (go l) r
GT -> balance y l (go r)
EQ -> glue l r
isProperSubsetOf :: (US a, Ord a) => USet a -> USet a -> Bool
isProperSubsetOf s1 s2 = (size s1 < size s2) && (isSubsetOf s1 s2)
isSubsetOf :: (US a, Ord a) => USet a -> USet a -> Bool
isSubsetOf t1 t2 = (size t1 <= size t2) && (isSubsetOfX t1 t2)
isSubsetOfX :: (US a, Ord a) => USet a -> USet a -> Bool
isSubsetOfX _ (null -> True) = False
isSubsetOfX (null -> True) _ = True
isSubsetOfX (view -> Bin _ x l r) t = found && isSubsetOfX l lt && isSubsetOfX r gt
where
(lt,found,gt) = splitMember x t
findMin :: US a => USet a -> a
findMin (view -> Bin _ x (null -> True) _) = x
findMin (view -> Bin _ _ l _) = findMin l
findMin _ = error "Data.Set.Unboxed.findMin: empty set has no minimal element"
findMax :: US a => USet a -> a
findMax (view -> Bin _ x _ (null -> True)) = x
findMax (view -> Bin _ _ _ r) = findMax r
findMax _ = error "Data.Set.Unboxed.findMax: empty set has no maximal element"
deleteMin :: US a => USet a -> USet a
deleteMin (view -> Bin _ _ (null -> True) r) = r
deleteMin (view -> Bin _ x l r) = balance x (deleteMin l) r
deleteMin _ = tip
deleteMax :: US a => USet a -> USet a
deleteMax (view -> Bin _ _ l (null -> True)) = l
deleteMax (view -> Bin _ x l r) = balance x l (deleteMax r)
deleteMax _ = tip
unions :: (US a, Ord a) => [USet a] -> USet a
unions ts
= foldlStrict union empty ts
union :: (US a, Ord a) => USet a -> USet a -> USet a
union (null -> True) t2 = t2
union t1 (null -> True) = t1
union t1 t2 = hedgeUnion (const LT) (const GT) t1 t2
hedgeUnion :: (US a, Ord a) => (a -> Ordering) -> (a -> Ordering) -> USet a -> USet a -> USet a
hedgeUnion _ _ t1 (null -> True) = t1
hedgeUnion cmplo cmphi (null -> True) (view -> Bin _ x l r) = join x (filterGt cmplo l) (filterLt cmphi r)
hedgeUnion cmplo cmphi (view -> Bin _ x l r) t2 = join x (hedgeUnion cmplo cmpx l (trim cmplo cmpx t2)) (hedgeUnion cmpx cmphi r (trim cmpx cmphi t2))
where
cmpx = compare x
difference :: (US a, Ord a) => USet a -> USet a -> USet a
difference (null -> True) _ = tip
difference t1 (null -> True) = t1
difference t1 t2 = hedgeDiff (const LT) (const GT) t1 t2
hedgeDiff :: (US a, Ord a) => (a -> Ordering) -> (a -> Ordering) -> USet a -> USet a -> USet a
hedgeDiff _ _ (null -> True) _ = tip
hedgeDiff cmplo cmphi (view -> Bin _ x l r) (null -> True) = join x (filterGt cmplo l) (filterLt cmphi r)
hedgeDiff cmplo cmphi t (view -> Bin _ x l r) = merge (hedgeDiff cmplo cmpx (trim cmplo cmpx t) l) (hedgeDiff cmpx cmphi (trim cmpx cmphi t) r)
where
cmpx = compare x
intersection :: (US a, Ord a) => USet a -> USet a -> USet a
intersection (null -> True) _ = tip
intersection _ (null -> True) = tip
intersection t1@(view -> Bin s1 x1 l1 r1) t2@(view -> Bin s2 x2 l2 r2) =
if s1 >= s2 then
let (lt,found,gt) = splitLookup x2 t1
tl = intersection lt l2
tr = intersection gt r2
in case found of
Just x -> join x tl tr
Nothing -> merge tl tr
else let (lt,found,gt) = splitMember x1 t2
tl = intersection l1 lt
tr = intersection r1 gt
in if found then join x1 tl tr
else merge tl tr
filter :: (US a, Ord a) => (a -> Bool) -> USet a -> USet a
filter p = go where
go = viewk tip
(\_ x l r ->
if p x
then join x (go l) (go r)
else merge (go l) (go r)
)
partition :: (US a, Ord a) => (a -> Bool) -> USet a -> (USet a,USet a)
partition p = go where
go = viewk (tip,tip)
(\_ x l r ->
let
(l1,l2) = go l
(r1,r2) = go r
in if p x
then (join x l1 r1,merge l2 r2)
else (merge l1 r1,join x l2 r2)
)
map :: (US a, US b, Ord a, Ord b) => (a->b) -> USet a -> USet b
map f = fromList . List.map f . toList
mapMonotonic :: (US a, US b) => (a->b) -> USet a -> USet b
mapMonotonic f (view -> Bin sz x l r) = bin sz (f x) (mapMonotonic f l) (mapMonotonic f r)
mapMonotonic _ _ = tip
fold :: US a => (a -> b -> b) -> b -> USet a -> b
fold f z s = foldr f z s
foldr :: US a => (a -> b -> b) -> b -> USet a -> b
foldr f z x | null x = z
| (# x, l, r #) <- viewBin x = foldr f (f x (foldr f z r)) l
elems :: US a => USet a -> [a]
elems x = toList x
toList :: US a => USet a -> [a]
toList x = toAscList x
toAscList :: US a => USet a -> [a]
toAscList = foldr (:) []
fromList :: (US a, Ord a) => [a] -> USet a
fromList = foldlStrict ins empty
where
ins t x = insert x t
fromAscList :: (US a, Eq a) => [a] -> USet a
fromAscList xs
= fromDistinctAscList (combineEq xs)
where
combineEq xs'
= case xs' of
[] -> []
[x] -> [x]
(x:xx) -> combineEq' x xx
combineEq' z [] = [z]
combineEq' z (x:xs')
| z==x = combineEq' z xs'
| otherwise = z:combineEq' x xs'
fromDistinctAscList :: US a => [a] -> USet a
fromDistinctAscList xs
= build const (length xs) xs
where
build c 0 xs' = c tip xs'
build c 5 xs' = case xs' of
(x1:x2:x3:x4:x5:xx)
-> c (bin_ x4 (bin_ x2 (singleton x1) (singleton x3)) (singleton x5)) xx
_ -> error "Data.Set.Unboxed.fromDistinctAscList build 5"
build c n xs' = seq nr $ build (buildR nr c) nl xs'
where
nl = n `div` 2
nr = n - nl - 1
buildR n c l (x:ys) = build (buildB l x c) n ys
buildR _ _ _ [] = error "Data.Set.Unboxed.fromDistinctAscList buildR []"
buildB l x c r zs = c (bin_ x l r) zs
instance (US a, Eq a) => Eq (USet a) where
t1 == t2 = (size t1 == size t2) && (toAscList t1 == toAscList t2)
instance (US a, Ord a) => Ord (USet a) where
compare s1 s2 = compare (toAscList s1) (toAscList s2)
instance (US a, Show a) => Show (USet a) where
showsPrec p xs = showParen (p > 10) $
showString "fromList " . shows (toList xs)
instance (US a, Read a, Ord a) => Read (USet a) where
#ifdef __GLASGOW_HASKELL__
readPrec = parens $ prec 10 $ do
Ident "fromList" <- lexP
fromList `fmap` readPrec
readListPrec = readListPrecDefault
#else
readsPrec p = readParen (p > 10) $ \ r -> do
("fromList",s) <- lex r
(xs,t) <- reads s
return (fromList xs,t)
#endif
trim :: US a => (a -> Ordering) -> (a -> Ordering) -> USet a -> USet a
trim cmplo cmphi t@(view -> Bin _ x l r)
= case cmplo x of
LT -> case cmphi x of
GT -> t
_ -> trim cmplo cmphi l
_ -> trim cmplo cmphi r
trim _ _ _ = tip
filterGt :: US a => (a -> Ordering) -> USet a -> USet a
filterGt cmp (view -> Bin _ x l r)
= case cmp x of
LT -> join x (filterGt cmp l) r
GT -> filterGt cmp r
EQ -> r
filterGt _ _ = tip
filterLt :: US a => (a -> Ordering) -> USet a -> USet a
filterLt cmp (view -> Bin _ x l r)
= case cmp x of
LT -> filterLt cmp l
GT -> join x l (filterLt cmp r)
EQ -> l
filterLt _ _ = tip
split :: (US a, Ord a) => a -> USet a -> (USet a,USet a)
split x (view -> Bin _ y l r)
= case compare x y of
LT -> let (lt,gt) = split x l in (lt,join y gt r)
GT -> let (lt,gt) = split x r in (join y l lt,gt)
EQ -> (l,r)
split _ _ = (tip,tip)
splitMember :: (US a, Ord a) => a -> USet a -> (USet a,Bool,USet a)
splitMember x t = let (l,m,r) = splitLookup x t in
(l,maybe False (const True) m,r)
splitLookup :: (US a, Ord a) => a -> USet a -> (USet a,Maybe a,USet a)
splitLookup x (view -> Bin _ y l r)
= case compare x y of
LT -> let (lt,found,gt) = splitLookup x l in (lt,found,join y gt r)
GT -> let (lt,found,gt) = splitLookup x r in (join y l lt,found,gt)
EQ -> (l,Just y,r)
splitLookup _ _ = (tip,Nothing,tip)
join :: US a => a -> USet a -> USet a -> USet a
join x (null -> True) r = insertMin x r
join x l (null -> True) = insertMax x l
join x l@(view -> Bin sizeL y ly ry) r@(view -> Bin sizeR z lz rz)
| delta*sizeL <= sizeR = balance z (join x l lz) rz
| delta*sizeR <= sizeL = balance y ly (join x ry r)
| otherwise = bin_ x l r
insertMax,insertMin :: US a => a -> USet a -> USet a
insertMax x t
= case view t of
Bin _ y l r -> balance y l (insertMax x r)
_ -> singleton x
insertMin x t
= case view t of
Bin _ y l r -> balance y (insertMin x l) r
_ -> singleton x
merge :: US a => USet a -> USet a -> USet a
merge (null -> True) r = r
merge l (null -> True) = l
merge l@(view -> Bin sizeL x lx rx) r@(view -> Bin sizeR y ly ry)
| delta*sizeL <= sizeR = balance y (merge l ly) ry
| delta*sizeR <= sizeL = balance x lx (merge rx r)
| otherwise = glue l r
glue :: US a => USet a -> USet a -> USet a
glue (null -> True) r = r
glue l (null -> True) = l
glue l r
| size l > size r = let (m,l') = deleteFindMax l in balance m l' r
| otherwise = let (m,r') = deleteFindMin r in balance m l r'
deleteFindMin :: US a => USet a -> (a,USet a)
deleteFindMin t
= case view t of
Bin _ x (null -> True) r -> (x,r)
Bin _ x l r -> let (xm,l') = deleteFindMin l in (xm,balance x l' r)
Tip -> (error "Data.Set.Unboxed.deleteFindMin: can not return the minimal element of an empty set", tip)
deleteFindMax :: US a => USet a -> (a,USet a)
deleteFindMax t
= case view t of
Bin _ x l (null -> True) -> (x,l)
Bin _ x l r -> let (xm,r') = deleteFindMax r in (xm,balance x l r')
_ -> (error "Data.Set.Unboxed.deleteFindMax: can not return the maximal element of an empty set", tip)
minView :: US a => USet a -> Maybe (a, USet a)
minView (null -> True) = Nothing
minView x = Just (deleteFindMin x)
maxView :: US a => USet a -> Maybe (a, USet a)
maxView (null -> True) = Nothing
maxView x = Just (deleteFindMax x)
delta,ratio :: Int
delta = 4
ratio = 2
foldlStrict :: (a -> b -> a) -> a -> [b] -> a
foldlStrict f z xs
= case xs of
[] -> z
(x:xx) -> let z' = f z x in seq z' (foldlStrict f z' xx)
showTree :: (US a, Show a) => USet a -> String
showTree s
= showTreeWith True False s
showTreeWith :: (US a, Show a) => Bool -> Bool -> USet a -> String
showTreeWith hang wide t
| hang = (showsTreeHang wide [] t) ""
| otherwise = (showsTree wide [] [] t) ""
showsTree :: (US a, Show a) => Bool -> [String] -> [String] -> USet a -> ShowS
showsTree wide lbars rbars t
= case view t of
Tip -> showsBars lbars . showString "|\n"
Bin _ x (null -> True) (null -> True)
-> showsBars lbars . shows x . showString "\n"
Bin _ x l r
-> showsTree wide (withBar rbars) (withEmpty rbars) r .
showWide wide rbars .
showsBars lbars . shows x . showString "\n" .
showWide wide lbars .
showsTree wide (withEmpty lbars) (withBar lbars) l
showsTreeHang :: (US a, Show a) => Bool -> [String] -> USet a -> ShowS
showsTreeHang wide bars t
= case view t of
Tip -> showsBars bars . showString "|\n"
Bin _ x (null -> True) (null -> True)
-> showsBars bars . shows x . showString "\n"
Bin _ x l r
-> showsBars bars . shows x . showString "\n" .
showWide wide bars .
showsTreeHang wide (withBar bars) l .
showWide wide bars .
showsTreeHang wide (withEmpty bars) r
showWide :: Bool -> [String] -> String -> String
showWide wide bars
| wide = showString (concat (reverse bars)) . showString "|\n"
| otherwise = id
showsBars :: [String] -> ShowS
showsBars bars
= case bars of
[] -> id
_ -> showString (concat (reverse (tail bars))) . showString node
node :: String
node = "+--"
withBar, withEmpty :: [String] -> [String]
withBar bars = "| ":bars
withEmpty bars = " ":bars
valid :: (US a, Ord a) => USet a -> Bool
valid t
= balanced t && ordered t && validsize t
ordered :: (US a, Ord a) => USet a -> Bool
ordered t
= bounded (const True) (const True) t
where
bounded lo hi t'
= case view t' of
Bin _ x l r -> (lo x) && (hi x) && bounded lo (<x) l && bounded (>x) hi r
_ -> True
balanced :: US a => USet a -> Bool
balanced t
= case view t of
Bin _ _ l r -> (size l + size r <= 1 || (size l <= delta*size r && size r <= delta*size l)) &&
balanced l && balanced r
_ -> True
validsize :: US a => USet a -> Bool
validsize t
= (realsize t == Just (size t))
where
realsize t'
= case view t' of
Bin sz _ l r -> case (realsize l,realsize r) of
(Just n,Just m) | n+m+1 == sz -> Just sz
_ -> Nothing
_ -> Just 0
insert :: (US a, Ord a) => a -> USet a -> USet a
insert x = go where
cmpx = compare x
go = viewk (singleton x) $ \sz y l r -> case cmpx y of
LT -> balance y (go l) r
GT -> balance y l (go r)
EQ -> bin sz x l r
bin_ :: US a => a -> USet a -> USet a -> USet a
bin_ x l r = bin (size l + size r + 1) x l r
newtype Boxed a = Boxed { getBoxed :: a } deriving (Eq,Ord,Show,Read,Bounded)
instance US Int where
data USet Int = IntTip | IntBin {-# UNPACK #-} !Size {-# UNPACK #-} !Int !(USet Int) !(USet Int)
view IntTip = Tip
view (IntBin s a l r) = Bin s (a) l r
tip = IntTip
bin s (a) = IntBin s a
instance US Char where
data USet Char = CharTip | CharBin {-# UNPACK #-} !Size {-# UNPACK #-} !Char !(USet Char) !(USet Char)
view CharTip = Tip
view (CharBin s a l r) = Bin s (a) l r
tip = CharTip
bin s (a) = CharBin s a
instance US Int8 where
data USet Int8 = Int8Tip | Int8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int8 !(USet Int8) !(USet Int8)
view Int8Tip = Tip
view (Int8Bin s a l r) = Bin s (a) l r
tip = Int8Tip
bin s (a) = Int8Bin s a
instance US Int16 where
data USet Int16 = Int16Tip | Int16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int16 !(USet Int16) !(USet Int16)
view Int16Tip = Tip
view (Int16Bin s a l r) = Bin s (a) l r
tip = Int16Tip
bin s (a) = Int16Bin s a
instance US Int32 where
data USet Int32 = Int32Tip | Int32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int32 !(USet Int32) !(USet Int32)
view Int32Tip = Tip
view (Int32Bin s a l r) = Bin s (a) l r
tip = Int32Tip
bin s (a) = Int32Bin s a
instance US Int64 where
data USet Int64 = Int64Tip | Int64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int64 !(USet Int64) !(USet Int64)
view Int64Tip = Tip
view (Int64Bin s a l r) = Bin s (a) l r
tip = Int64Tip
bin s (a) = Int64Bin s a
instance US Word8 where
data USet Word8 = Word8Tip | Word8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word8 !(USet Word8) !(USet Word8)
view Word8Tip = Tip
view (Word8Bin s a l r) = Bin s (a) l r
tip = Word8Tip
bin s (a) = Word8Bin s a
instance US Word16 where
data USet Word16 = Word16Tip | Word16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word16 !(USet Word16) !(USet Word16)
view Word16Tip = Tip
view (Word16Bin s a l r) = Bin s (a) l r
tip = Word16Tip
bin s (a) = Word16Bin s a
instance US Word32 where
data USet Word32 = Word32Tip | Word32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word32 !(USet Word32) !(USet Word32)
view Word32Tip = Tip
view (Word32Bin s a l r) = Bin s (a) l r
tip = Word32Tip
bin s (a) = Word32Bin s a
instance US Word64 where
data USet Word64 = Word64Tip | Word64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word64 !(USet Word64) !(USet Word64)
view Word64Tip = Tip
view (Word64Bin s a l r) = Bin s (a) l r
tip = Word64Tip
bin s (a) = Word64Bin s a
instance US Double where
data USet Double = DoubleTip | DoubleBin {-# UNPACK #-} !Size {-# UNPACK #-} !Double !(USet Double) !(USet Double)
view DoubleTip = Tip
view (DoubleBin s a l r) = Bin s (a) l r
tip = DoubleTip
bin s (a) = DoubleBin s a
instance US Float where
data USet Float = FloatTip | FloatBin {-# UNPACK #-} !Size {-# UNPACK #-} !Float !(USet Float) !(USet Float)
view FloatTip = Tip
view (FloatBin s a l r) = Bin s (a) l r
tip = FloatTip
bin s (a) = FloatBin s a
instance US Integer where
data USet Integer = IntegerTip | IntegerBin {-# UNPACK #-} !Size !Integer !(USet Integer) !(USet Integer)
view IntegerTip = Tip
view (IntegerBin s a l r) = Bin s (a) l r
tip = IntegerTip
bin s (a) = IntegerBin s a
instance US (Boxed a) where
data USet (Boxed a) = BoxedTip | BoxedBin {-# UNPACK #-} !Size (Boxed a) !(USet (Boxed a)) !(USet (Boxed a))
view BoxedTip = Tip
view (BoxedBin s a l r) = Bin s (a) l r
tip = BoxedTip
bin s (a) = BoxedBin s a
instance US (Int,Int) where
data USet (Int,Int) = IntIntTip | IntIntBin {-# UNPACK #-} !Size {-# UNPACK #-} !Int{-# UNPACK #-} !Int !(USet (Int,Int)) !(USet (Int,Int))
view IntIntTip = Tip
view (IntIntBin s a b l r) = Bin s (a,b) l r
tip = IntIntTip
bin s (a,b) = IntIntBin s a b
instance US (Int,Int,Int) where
data USet (Int,Int,Int) = IntIntIntTip | IntIntIntBin {-# UNPACK #-} !Size {-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int !(USet (Int,Int,Int)) !(USet (Int,Int,Int))
view IntIntIntTip = Tip
view (IntIntIntBin s a b c l r) = Bin s (a,b,c) l r
tip = IntIntIntTip
bin s (a,b,c) = IntIntIntBin s a b c
instance US (Int,Int,Int,Int) where
data USet (Int,Int,Int,Int) = IntIntIntIntTip | IntIntIntIntBin {-# UNPACK #-} !Size {-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int !(USet (Int,Int,Int,Int)) !(USet (Int,Int,Int,Int))
view IntIntIntIntTip = Tip
view (IntIntIntIntBin s a b c d l r) = Bin s (a,b,c,d) l r
tip = IntIntIntIntTip
bin s (a,b,c,d) = IntIntIntIntBin s a b c d
instance US (Int,Int,Int,Int,Int) where
data USet (Int,Int,Int,Int,Int) = IntIntIntIntIntTip | IntIntIntIntIntBin {-# UNPACK #-} !Size {-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int !(USet (Int,Int,Int,Int,Int)) !(USet (Int,Int,Int,Int,Int))
view IntIntIntIntIntTip = Tip
view (IntIntIntIntIntBin s a b c d e l r) = Bin s (a,b,c,d,e) l r
tip = IntIntIntIntIntTip
bin s (a,b,c,d,e) = IntIntIntIntIntBin s a b c d e
instance US (Int,Int,Int,Int,Int,Int) where
data USet (Int,Int,Int,Int,Int,Int) = IntIntIntIntIntIntTip | IntIntIntIntIntIntBin {-# UNPACK #-} !Size {-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int !(USet (Int,Int,Int,Int,Int,Int)) !(USet (Int,Int,Int,Int,Int,Int))
view IntIntIntIntIntIntTip = Tip
view (IntIntIntIntIntIntBin s a b c d e f l r) = Bin s (a,b,c,d,e,f) l r
tip = IntIntIntIntIntIntTip
bin s (a,b,c,d,e,f) = IntIntIntIntIntIntBin s a b c d e f
instance US (Int,Int,Int,Int,Int,Int,Int) where
data USet (Int,Int,Int,Int,Int,Int,Int) = IntIntIntIntIntIntIntTip | IntIntIntIntIntIntIntBin {-# UNPACK #-} !Size {-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int !(USet (Int,Int,Int,Int,Int,Int,Int)) !(USet (Int,Int,Int,Int,Int,Int,Int))
view IntIntIntIntIntIntIntTip = Tip
view (IntIntIntIntIntIntIntBin s a b c d e f g l r) = Bin s (a,b,c,d,e,f,g) l r
tip = IntIntIntIntIntIntIntTip
bin s (a,b,c,d,e,f,g) = IntIntIntIntIntIntIntBin s a b c d e f g
instance US (Int,Int,Int,Int,Int,Int,Int,Int) where
data USet (Int,Int,Int,Int,Int,Int,Int,Int) = IntIntIntIntIntIntIntIntTip | IntIntIntIntIntIntIntIntBin {-# UNPACK #-} !Size {-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int !(USet (Int,Int,Int,Int,Int,Int,Int,Int)) !(USet (Int,Int,Int,Int,Int,Int,Int,Int))
view IntIntIntIntIntIntIntIntTip = Tip
view (IntIntIntIntIntIntIntIntBin s a b c d e f g h l r) = Bin s (a,b,c,d,e,f,g,h) l r
tip = IntIntIntIntIntIntIntIntTip
bin s (a,b,c,d,e,f,g,h) = IntIntIntIntIntIntIntIntBin s a b c d e f g h
instance US (Int,Int,Int,Int,Int,Int,Int,Int,Int) where
data USet (Int,Int,Int,Int,Int,Int,Int,Int,Int) = IntIntIntIntIntIntIntIntIntTip | IntIntIntIntIntIntIntIntIntBin {-# UNPACK #-} !Size {-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int{-# UNPACK #-} !Int !(USet (Int,Int,Int,Int,Int,Int,Int,Int,Int)) !(USet (Int,Int,Int,Int,Int,Int,Int,Int,Int))
view IntIntIntIntIntIntIntIntIntTip = Tip
view (IntIntIntIntIntIntIntIntIntBin s a b c d e f g h i l r) = Bin s (a,b,c,d,e,f,g,h,i) l r
tip = IntIntIntIntIntIntIntIntIntTip
bin s (a,b,c,d,e,f,g,h,i) = IntIntIntIntIntIntIntIntIntBin s a b c d e f g h i
instance US (Char,Char) where
data USet (Char,Char) = CharCharTip | CharCharBin {-# UNPACK #-} !Size {-# UNPACK #-} !Char{-# UNPACK #-} !Char !(USet (Char,Char)) !(USet (Char,Char))
view CharCharTip = Tip
view (CharCharBin s a b l r) = Bin s (a,b) l r
tip = CharCharTip
bin s (a,b) = CharCharBin s a b
instance US (Char,Char,Char) where
data USet (Char,Char,Char) = CharCharCharTip | CharCharCharBin {-# UNPACK #-} !Size {-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char !(USet (Char,Char,Char)) !(USet (Char,Char,Char))
view CharCharCharTip = Tip
view (CharCharCharBin s a b c l r) = Bin s (a,b,c) l r
tip = CharCharCharTip
bin s (a,b,c) = CharCharCharBin s a b c
instance US (Char,Char,Char,Char) where
data USet (Char,Char,Char,Char) = CharCharCharCharTip | CharCharCharCharBin {-# UNPACK #-} !Size {-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char !(USet (Char,Char,Char,Char)) !(USet (Char,Char,Char,Char))
view CharCharCharCharTip = Tip
view (CharCharCharCharBin s a b c d l r) = Bin s (a,b,c,d) l r
tip = CharCharCharCharTip
bin s (a,b,c,d) = CharCharCharCharBin s a b c d
instance US (Char,Char,Char,Char,Char) where
data USet (Char,Char,Char,Char,Char) = CharCharCharCharCharTip | CharCharCharCharCharBin {-# UNPACK #-} !Size {-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char !(USet (Char,Char,Char,Char,Char)) !(USet (Char,Char,Char,Char,Char))
view CharCharCharCharCharTip = Tip
view (CharCharCharCharCharBin s a b c d e l r) = Bin s (a,b,c,d,e) l r
tip = CharCharCharCharCharTip
bin s (a,b,c,d,e) = CharCharCharCharCharBin s a b c d e
instance US (Char,Char,Char,Char,Char,Char) where
data USet (Char,Char,Char,Char,Char,Char) = CharCharCharCharCharCharTip | CharCharCharCharCharCharBin {-# UNPACK #-} !Size {-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char !(USet (Char,Char,Char,Char,Char,Char)) !(USet (Char,Char,Char,Char,Char,Char))
view CharCharCharCharCharCharTip = Tip
view (CharCharCharCharCharCharBin s a b c d e f l r) = Bin s (a,b,c,d,e,f) l r
tip = CharCharCharCharCharCharTip
bin s (a,b,c,d,e,f) = CharCharCharCharCharCharBin s a b c d e f
instance US (Char,Char,Char,Char,Char,Char,Char) where
data USet (Char,Char,Char,Char,Char,Char,Char) = CharCharCharCharCharCharCharTip | CharCharCharCharCharCharCharBin {-# UNPACK #-} !Size {-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char !(USet (Char,Char,Char,Char,Char,Char,Char)) !(USet (Char,Char,Char,Char,Char,Char,Char))
view CharCharCharCharCharCharCharTip = Tip
view (CharCharCharCharCharCharCharBin s a b c d e f g l r) = Bin s (a,b,c,d,e,f,g) l r
tip = CharCharCharCharCharCharCharTip
bin s (a,b,c,d,e,f,g) = CharCharCharCharCharCharCharBin s a b c d e f g
instance US (Char,Char,Char,Char,Char,Char,Char,Char) where
data USet (Char,Char,Char,Char,Char,Char,Char,Char) = CharCharCharCharCharCharCharCharTip | CharCharCharCharCharCharCharCharBin {-# UNPACK #-} !Size {-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char !(USet (Char,Char,Char,Char,Char,Char,Char,Char)) !(USet (Char,Char,Char,Char,Char,Char,Char,Char))
view CharCharCharCharCharCharCharCharTip = Tip
view (CharCharCharCharCharCharCharCharBin s a b c d e f g h l r) = Bin s (a,b,c,d,e,f,g,h) l r
tip = CharCharCharCharCharCharCharCharTip
bin s (a,b,c,d,e,f,g,h) = CharCharCharCharCharCharCharCharBin s a b c d e f g h
instance US (Char,Char,Char,Char,Char,Char,Char,Char,Char) where
data USet (Char,Char,Char,Char,Char,Char,Char,Char,Char) = CharCharCharCharCharCharCharCharCharTip | CharCharCharCharCharCharCharCharCharBin {-# UNPACK #-} !Size {-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char{-# UNPACK #-} !Char !(USet (Char,Char,Char,Char,Char,Char,Char,Char,Char)) !(USet (Char,Char,Char,Char,Char,Char,Char,Char,Char))
view CharCharCharCharCharCharCharCharCharTip = Tip
view (CharCharCharCharCharCharCharCharCharBin s a b c d e f g h i l r) = Bin s (a,b,c,d,e,f,g,h,i) l r
tip = CharCharCharCharCharCharCharCharCharTip
bin s (a,b,c,d,e,f,g,h,i) = CharCharCharCharCharCharCharCharCharBin s a b c d e f g h i
instance US (Int8,Int8) where
data USet (Int8,Int8) = Int8Int8Tip | Int8Int8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int8{-# UNPACK #-} !Int8 !(USet (Int8,Int8)) !(USet (Int8,Int8))
view Int8Int8Tip = Tip
view (Int8Int8Bin s a b l r) = Bin s (a,b) l r
tip = Int8Int8Tip
bin s (a,b) = Int8Int8Bin s a b
instance US (Int8,Int8,Int8) where
data USet (Int8,Int8,Int8) = Int8Int8Int8Tip | Int8Int8Int8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8 !(USet (Int8,Int8,Int8)) !(USet (Int8,Int8,Int8))
view Int8Int8Int8Tip = Tip
view (Int8Int8Int8Bin s a b c l r) = Bin s (a,b,c) l r
tip = Int8Int8Int8Tip
bin s (a,b,c) = Int8Int8Int8Bin s a b c
instance US (Int8,Int8,Int8,Int8) where
data USet (Int8,Int8,Int8,Int8) = Int8Int8Int8Int8Tip | Int8Int8Int8Int8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8 !(USet (Int8,Int8,Int8,Int8)) !(USet (Int8,Int8,Int8,Int8))
view Int8Int8Int8Int8Tip = Tip
view (Int8Int8Int8Int8Bin s a b c d l r) = Bin s (a,b,c,d) l r
tip = Int8Int8Int8Int8Tip
bin s (a,b,c,d) = Int8Int8Int8Int8Bin s a b c d
instance US (Int8,Int8,Int8,Int8,Int8) where
data USet (Int8,Int8,Int8,Int8,Int8) = Int8Int8Int8Int8Int8Tip | Int8Int8Int8Int8Int8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8 !(USet (Int8,Int8,Int8,Int8,Int8)) !(USet (Int8,Int8,Int8,Int8,Int8))
view Int8Int8Int8Int8Int8Tip = Tip
view (Int8Int8Int8Int8Int8Bin s a b c d e l r) = Bin s (a,b,c,d,e) l r
tip = Int8Int8Int8Int8Int8Tip
bin s (a,b,c,d,e) = Int8Int8Int8Int8Int8Bin s a b c d e
instance US (Int8,Int8,Int8,Int8,Int8,Int8) where
data USet (Int8,Int8,Int8,Int8,Int8,Int8) = Int8Int8Int8Int8Int8Int8Tip | Int8Int8Int8Int8Int8Int8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8 !(USet (Int8,Int8,Int8,Int8,Int8,Int8)) !(USet (Int8,Int8,Int8,Int8,Int8,Int8))
view Int8Int8Int8Int8Int8Int8Tip = Tip
view (Int8Int8Int8Int8Int8Int8Bin s a b c d e f l r) = Bin s (a,b,c,d,e,f) l r
tip = Int8Int8Int8Int8Int8Int8Tip
bin s (a,b,c,d,e,f) = Int8Int8Int8Int8Int8Int8Bin s a b c d e f
instance US (Int8,Int8,Int8,Int8,Int8,Int8,Int8) where
data USet (Int8,Int8,Int8,Int8,Int8,Int8,Int8) = Int8Int8Int8Int8Int8Int8Int8Tip | Int8Int8Int8Int8Int8Int8Int8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8 !(USet (Int8,Int8,Int8,Int8,Int8,Int8,Int8)) !(USet (Int8,Int8,Int8,Int8,Int8,Int8,Int8))
view Int8Int8Int8Int8Int8Int8Int8Tip = Tip
view (Int8Int8Int8Int8Int8Int8Int8Bin s a b c d e f g l r) = Bin s (a,b,c,d,e,f,g) l r
tip = Int8Int8Int8Int8Int8Int8Int8Tip
bin s (a,b,c,d,e,f,g) = Int8Int8Int8Int8Int8Int8Int8Bin s a b c d e f g
instance US (Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int8) where
data USet (Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int8) = Int8Int8Int8Int8Int8Int8Int8Int8Tip | Int8Int8Int8Int8Int8Int8Int8Int8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8 !(USet (Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int8)) !(USet (Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int8))
view Int8Int8Int8Int8Int8Int8Int8Int8Tip = Tip
view (Int8Int8Int8Int8Int8Int8Int8Int8Bin s a b c d e f g h l r) = Bin s (a,b,c,d,e,f,g,h) l r
tip = Int8Int8Int8Int8Int8Int8Int8Int8Tip
bin s (a,b,c,d,e,f,g,h) = Int8Int8Int8Int8Int8Int8Int8Int8Bin s a b c d e f g h
instance US (Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int8) where
data USet (Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int8) = Int8Int8Int8Int8Int8Int8Int8Int8Int8Tip | Int8Int8Int8Int8Int8Int8Int8Int8Int8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8{-# UNPACK #-} !Int8 !(USet (Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int8)) !(USet (Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int8,Int8))
view Int8Int8Int8Int8Int8Int8Int8Int8Int8Tip = Tip
view (Int8Int8Int8Int8Int8Int8Int8Int8Int8Bin s a b c d e f g h i l r) = Bin s (a,b,c,d,e,f,g,h,i) l r
tip = Int8Int8Int8Int8Int8Int8Int8Int8Int8Tip
bin s (a,b,c,d,e,f,g,h,i) = Int8Int8Int8Int8Int8Int8Int8Int8Int8Bin s a b c d e f g h i
instance US (Int16,Int16) where
data USet (Int16,Int16) = Int16Int16Tip | Int16Int16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int16{-# UNPACK #-} !Int16 !(USet (Int16,Int16)) !(USet (Int16,Int16))
view Int16Int16Tip = Tip
view (Int16Int16Bin s a b l r) = Bin s (a,b) l r
tip = Int16Int16Tip
bin s (a,b) = Int16Int16Bin s a b
instance US (Int16,Int16,Int16) where
data USet (Int16,Int16,Int16) = Int16Int16Int16Tip | Int16Int16Int16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16 !(USet (Int16,Int16,Int16)) !(USet (Int16,Int16,Int16))
view Int16Int16Int16Tip = Tip
view (Int16Int16Int16Bin s a b c l r) = Bin s (a,b,c) l r
tip = Int16Int16Int16Tip
bin s (a,b,c) = Int16Int16Int16Bin s a b c
instance US (Int16,Int16,Int16,Int16) where
data USet (Int16,Int16,Int16,Int16) = Int16Int16Int16Int16Tip | Int16Int16Int16Int16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16 !(USet (Int16,Int16,Int16,Int16)) !(USet (Int16,Int16,Int16,Int16))
view Int16Int16Int16Int16Tip = Tip
view (Int16Int16Int16Int16Bin s a b c d l r) = Bin s (a,b,c,d) l r
tip = Int16Int16Int16Int16Tip
bin s (a,b,c,d) = Int16Int16Int16Int16Bin s a b c d
instance US (Int16,Int16,Int16,Int16,Int16) where
data USet (Int16,Int16,Int16,Int16,Int16) = Int16Int16Int16Int16Int16Tip | Int16Int16Int16Int16Int16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16 !(USet (Int16,Int16,Int16,Int16,Int16)) !(USet (Int16,Int16,Int16,Int16,Int16))
view Int16Int16Int16Int16Int16Tip = Tip
view (Int16Int16Int16Int16Int16Bin s a b c d e l r) = Bin s (a,b,c,d,e) l r
tip = Int16Int16Int16Int16Int16Tip
bin s (a,b,c,d,e) = Int16Int16Int16Int16Int16Bin s a b c d e
instance US (Int16,Int16,Int16,Int16,Int16,Int16) where
data USet (Int16,Int16,Int16,Int16,Int16,Int16) = Int16Int16Int16Int16Int16Int16Tip | Int16Int16Int16Int16Int16Int16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16 !(USet (Int16,Int16,Int16,Int16,Int16,Int16)) !(USet (Int16,Int16,Int16,Int16,Int16,Int16))
view Int16Int16Int16Int16Int16Int16Tip = Tip
view (Int16Int16Int16Int16Int16Int16Bin s a b c d e f l r) = Bin s (a,b,c,d,e,f) l r
tip = Int16Int16Int16Int16Int16Int16Tip
bin s (a,b,c,d,e,f) = Int16Int16Int16Int16Int16Int16Bin s a b c d e f
instance US (Int16,Int16,Int16,Int16,Int16,Int16,Int16) where
data USet (Int16,Int16,Int16,Int16,Int16,Int16,Int16) = Int16Int16Int16Int16Int16Int16Int16Tip | Int16Int16Int16Int16Int16Int16Int16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16 !(USet (Int16,Int16,Int16,Int16,Int16,Int16,Int16)) !(USet (Int16,Int16,Int16,Int16,Int16,Int16,Int16))
view Int16Int16Int16Int16Int16Int16Int16Tip = Tip
view (Int16Int16Int16Int16Int16Int16Int16Bin s a b c d e f g l r) = Bin s (a,b,c,d,e,f,g) l r
tip = Int16Int16Int16Int16Int16Int16Int16Tip
bin s (a,b,c,d,e,f,g) = Int16Int16Int16Int16Int16Int16Int16Bin s a b c d e f g
instance US (Int16,Int16,Int16,Int16,Int16,Int16,Int16,Int16) where
data USet (Int16,Int16,Int16,Int16,Int16,Int16,Int16,Int16) = Int16Int16Int16Int16Int16Int16Int16Int16Tip | Int16Int16Int16Int16Int16Int16Int16Int16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16 !(USet (Int16,Int16,Int16,Int16,Int16,Int16,Int16,Int16)) !(USet (Int16,Int16,Int16,Int16,Int16,Int16,Int16,Int16))
view Int16Int16Int16Int16Int16Int16Int16Int16Tip = Tip
view (Int16Int16Int16Int16Int16Int16Int16Int16Bin s a b c d e f g h l r) = Bin s (a,b,c,d,e,f,g,h) l r
tip = Int16Int16Int16Int16Int16Int16Int16Int16Tip
bin s (a,b,c,d,e,f,g,h) = Int16Int16Int16Int16Int16Int16Int16Int16Bin s a b c d e f g h
instance US (Int16,Int16,Int16,Int16,Int16,Int16,Int16,Int16,Int16) where
data USet (Int16,Int16,Int16,Int16,Int16,Int16,Int16,Int16,Int16) = Int16Int16Int16Int16Int16Int16Int16Int16Int16Tip | Int16Int16Int16Int16Int16Int16Int16Int16Int16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16{-# UNPACK #-} !Int16 !(USet (Int16,Int16,Int16,Int16,Int16,Int16,Int16,Int16,Int16)) !(USet (Int16,Int16,Int16,Int16,Int16,Int16,Int16,Int16,Int16))
view Int16Int16Int16Int16Int16Int16Int16Int16Int16Tip = Tip
view (Int16Int16Int16Int16Int16Int16Int16Int16Int16Bin s a b c d e f g h i l r) = Bin s (a,b,c,d,e,f,g,h,i) l r
tip = Int16Int16Int16Int16Int16Int16Int16Int16Int16Tip
bin s (a,b,c,d,e,f,g,h,i) = Int16Int16Int16Int16Int16Int16Int16Int16Int16Bin s a b c d e f g h i
instance US (Int32,Int32) where
data USet (Int32,Int32) = Int32Int32Tip | Int32Int32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int32{-# UNPACK #-} !Int32 !(USet (Int32,Int32)) !(USet (Int32,Int32))
view Int32Int32Tip = Tip
view (Int32Int32Bin s a b l r) = Bin s (a,b) l r
tip = Int32Int32Tip
bin s (a,b) = Int32Int32Bin s a b
instance US (Int32,Int32,Int32) where
data USet (Int32,Int32,Int32) = Int32Int32Int32Tip | Int32Int32Int32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32 !(USet (Int32,Int32,Int32)) !(USet (Int32,Int32,Int32))
view Int32Int32Int32Tip = Tip
view (Int32Int32Int32Bin s a b c l r) = Bin s (a,b,c) l r
tip = Int32Int32Int32Tip
bin s (a,b,c) = Int32Int32Int32Bin s a b c
instance US (Int32,Int32,Int32,Int32) where
data USet (Int32,Int32,Int32,Int32) = Int32Int32Int32Int32Tip | Int32Int32Int32Int32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32 !(USet (Int32,Int32,Int32,Int32)) !(USet (Int32,Int32,Int32,Int32))
view Int32Int32Int32Int32Tip = Tip
view (Int32Int32Int32Int32Bin s a b c d l r) = Bin s (a,b,c,d) l r
tip = Int32Int32Int32Int32Tip
bin s (a,b,c,d) = Int32Int32Int32Int32Bin s a b c d
instance US (Int32,Int32,Int32,Int32,Int32) where
data USet (Int32,Int32,Int32,Int32,Int32) = Int32Int32Int32Int32Int32Tip | Int32Int32Int32Int32Int32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32 !(USet (Int32,Int32,Int32,Int32,Int32)) !(USet (Int32,Int32,Int32,Int32,Int32))
view Int32Int32Int32Int32Int32Tip = Tip
view (Int32Int32Int32Int32Int32Bin s a b c d e l r) = Bin s (a,b,c,d,e) l r
tip = Int32Int32Int32Int32Int32Tip
bin s (a,b,c,d,e) = Int32Int32Int32Int32Int32Bin s a b c d e
instance US (Int32,Int32,Int32,Int32,Int32,Int32) where
data USet (Int32,Int32,Int32,Int32,Int32,Int32) = Int32Int32Int32Int32Int32Int32Tip | Int32Int32Int32Int32Int32Int32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32 !(USet (Int32,Int32,Int32,Int32,Int32,Int32)) !(USet (Int32,Int32,Int32,Int32,Int32,Int32))
view Int32Int32Int32Int32Int32Int32Tip = Tip
view (Int32Int32Int32Int32Int32Int32Bin s a b c d e f l r) = Bin s (a,b,c,d,e,f) l r
tip = Int32Int32Int32Int32Int32Int32Tip
bin s (a,b,c,d,e,f) = Int32Int32Int32Int32Int32Int32Bin s a b c d e f
instance US (Int32,Int32,Int32,Int32,Int32,Int32,Int32) where
data USet (Int32,Int32,Int32,Int32,Int32,Int32,Int32) = Int32Int32Int32Int32Int32Int32Int32Tip | Int32Int32Int32Int32Int32Int32Int32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32 !(USet (Int32,Int32,Int32,Int32,Int32,Int32,Int32)) !(USet (Int32,Int32,Int32,Int32,Int32,Int32,Int32))
view Int32Int32Int32Int32Int32Int32Int32Tip = Tip
view (Int32Int32Int32Int32Int32Int32Int32Bin s a b c d e f g l r) = Bin s (a,b,c,d,e,f,g) l r
tip = Int32Int32Int32Int32Int32Int32Int32Tip
bin s (a,b,c,d,e,f,g) = Int32Int32Int32Int32Int32Int32Int32Bin s a b c d e f g
instance US (Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32) where
data USet (Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32) = Int32Int32Int32Int32Int32Int32Int32Int32Tip | Int32Int32Int32Int32Int32Int32Int32Int32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32 !(USet (Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32)) !(USet (Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32))
view Int32Int32Int32Int32Int32Int32Int32Int32Tip = Tip
view (Int32Int32Int32Int32Int32Int32Int32Int32Bin s a b c d e f g h l r) = Bin s (a,b,c,d,e,f,g,h) l r
tip = Int32Int32Int32Int32Int32Int32Int32Int32Tip
bin s (a,b,c,d,e,f,g,h) = Int32Int32Int32Int32Int32Int32Int32Int32Bin s a b c d e f g h
instance US (Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32) where
data USet (Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32) = Int32Int32Int32Int32Int32Int32Int32Int32Int32Tip | Int32Int32Int32Int32Int32Int32Int32Int32Int32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32{-# UNPACK #-} !Int32 !(USet (Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32)) !(USet (Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32,Int32))
view Int32Int32Int32Int32Int32Int32Int32Int32Int32Tip = Tip
view (Int32Int32Int32Int32Int32Int32Int32Int32Int32Bin s a b c d e f g h i l r) = Bin s (a,b,c,d,e,f,g,h,i) l r
tip = Int32Int32Int32Int32Int32Int32Int32Int32Int32Tip
bin s (a,b,c,d,e,f,g,h,i) = Int32Int32Int32Int32Int32Int32Int32Int32Int32Bin s a b c d e f g h i
instance US (Int64,Int64) where
data USet (Int64,Int64) = Int64Int64Tip | Int64Int64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int64{-# UNPACK #-} !Int64 !(USet (Int64,Int64)) !(USet (Int64,Int64))
view Int64Int64Tip = Tip
view (Int64Int64Bin s a b l r) = Bin s (a,b) l r
tip = Int64Int64Tip
bin s (a,b) = Int64Int64Bin s a b
instance US (Int64,Int64,Int64) where
data USet (Int64,Int64,Int64) = Int64Int64Int64Tip | Int64Int64Int64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64 !(USet (Int64,Int64,Int64)) !(USet (Int64,Int64,Int64))
view Int64Int64Int64Tip = Tip
view (Int64Int64Int64Bin s a b c l r) = Bin s (a,b,c) l r
tip = Int64Int64Int64Tip
bin s (a,b,c) = Int64Int64Int64Bin s a b c
instance US (Int64,Int64,Int64,Int64) where
data USet (Int64,Int64,Int64,Int64) = Int64Int64Int64Int64Tip | Int64Int64Int64Int64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64 !(USet (Int64,Int64,Int64,Int64)) !(USet (Int64,Int64,Int64,Int64))
view Int64Int64Int64Int64Tip = Tip
view (Int64Int64Int64Int64Bin s a b c d l r) = Bin s (a,b,c,d) l r
tip = Int64Int64Int64Int64Tip
bin s (a,b,c,d) = Int64Int64Int64Int64Bin s a b c d
instance US (Int64,Int64,Int64,Int64,Int64) where
data USet (Int64,Int64,Int64,Int64,Int64) = Int64Int64Int64Int64Int64Tip | Int64Int64Int64Int64Int64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64 !(USet (Int64,Int64,Int64,Int64,Int64)) !(USet (Int64,Int64,Int64,Int64,Int64))
view Int64Int64Int64Int64Int64Tip = Tip
view (Int64Int64Int64Int64Int64Bin s a b c d e l r) = Bin s (a,b,c,d,e) l r
tip = Int64Int64Int64Int64Int64Tip
bin s (a,b,c,d,e) = Int64Int64Int64Int64Int64Bin s a b c d e
instance US (Int64,Int64,Int64,Int64,Int64,Int64) where
data USet (Int64,Int64,Int64,Int64,Int64,Int64) = Int64Int64Int64Int64Int64Int64Tip | Int64Int64Int64Int64Int64Int64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64 !(USet (Int64,Int64,Int64,Int64,Int64,Int64)) !(USet (Int64,Int64,Int64,Int64,Int64,Int64))
view Int64Int64Int64Int64Int64Int64Tip = Tip
view (Int64Int64Int64Int64Int64Int64Bin s a b c d e f l r) = Bin s (a,b,c,d,e,f) l r
tip = Int64Int64Int64Int64Int64Int64Tip
bin s (a,b,c,d,e,f) = Int64Int64Int64Int64Int64Int64Bin s a b c d e f
instance US (Int64,Int64,Int64,Int64,Int64,Int64,Int64) where
data USet (Int64,Int64,Int64,Int64,Int64,Int64,Int64) = Int64Int64Int64Int64Int64Int64Int64Tip | Int64Int64Int64Int64Int64Int64Int64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64 !(USet (Int64,Int64,Int64,Int64,Int64,Int64,Int64)) !(USet (Int64,Int64,Int64,Int64,Int64,Int64,Int64))
view Int64Int64Int64Int64Int64Int64Int64Tip = Tip
view (Int64Int64Int64Int64Int64Int64Int64Bin s a b c d e f g l r) = Bin s (a,b,c,d,e,f,g) l r
tip = Int64Int64Int64Int64Int64Int64Int64Tip
bin s (a,b,c,d,e,f,g) = Int64Int64Int64Int64Int64Int64Int64Bin s a b c d e f g
instance US (Int64,Int64,Int64,Int64,Int64,Int64,Int64,Int64) where
data USet (Int64,Int64,Int64,Int64,Int64,Int64,Int64,Int64) = Int64Int64Int64Int64Int64Int64Int64Int64Tip | Int64Int64Int64Int64Int64Int64Int64Int64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64 !(USet (Int64,Int64,Int64,Int64,Int64,Int64,Int64,Int64)) !(USet (Int64,Int64,Int64,Int64,Int64,Int64,Int64,Int64))
view Int64Int64Int64Int64Int64Int64Int64Int64Tip = Tip
view (Int64Int64Int64Int64Int64Int64Int64Int64Bin s a b c d e f g h l r) = Bin s (a,b,c,d,e,f,g,h) l r
tip = Int64Int64Int64Int64Int64Int64Int64Int64Tip
bin s (a,b,c,d,e,f,g,h) = Int64Int64Int64Int64Int64Int64Int64Int64Bin s a b c d e f g h
instance US (Int64,Int64,Int64,Int64,Int64,Int64,Int64,Int64,Int64) where
data USet (Int64,Int64,Int64,Int64,Int64,Int64,Int64,Int64,Int64) = Int64Int64Int64Int64Int64Int64Int64Int64Int64Tip | Int64Int64Int64Int64Int64Int64Int64Int64Int64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64{-# UNPACK #-} !Int64 !(USet (Int64,Int64,Int64,Int64,Int64,Int64,Int64,Int64,Int64)) !(USet (Int64,Int64,Int64,Int64,Int64,Int64,Int64,Int64,Int64))
view Int64Int64Int64Int64Int64Int64Int64Int64Int64Tip = Tip
view (Int64Int64Int64Int64Int64Int64Int64Int64Int64Bin s a b c d e f g h i l r) = Bin s (a,b,c,d,e,f,g,h,i) l r
tip = Int64Int64Int64Int64Int64Int64Int64Int64Int64Tip
bin s (a,b,c,d,e,f,g,h,i) = Int64Int64Int64Int64Int64Int64Int64Int64Int64Bin s a b c d e f g h i
instance US (Word8,Word8) where
data USet (Word8,Word8) = Word8Word8Tip | Word8Word8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word8{-# UNPACK #-} !Word8 !(USet (Word8,Word8)) !(USet (Word8,Word8))
view Word8Word8Tip = Tip
view (Word8Word8Bin s a b l r) = Bin s (a,b) l r
tip = Word8Word8Tip
bin s (a,b) = Word8Word8Bin s a b
instance US (Word8,Word8,Word8) where
data USet (Word8,Word8,Word8) = Word8Word8Word8Tip | Word8Word8Word8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8 !(USet (Word8,Word8,Word8)) !(USet (Word8,Word8,Word8))
view Word8Word8Word8Tip = Tip
view (Word8Word8Word8Bin s a b c l r) = Bin s (a,b,c) l r
tip = Word8Word8Word8Tip
bin s (a,b,c) = Word8Word8Word8Bin s a b c
instance US (Word8,Word8,Word8,Word8) where
data USet (Word8,Word8,Word8,Word8) = Word8Word8Word8Word8Tip | Word8Word8Word8Word8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8 !(USet (Word8,Word8,Word8,Word8)) !(USet (Word8,Word8,Word8,Word8))
view Word8Word8Word8Word8Tip = Tip
view (Word8Word8Word8Word8Bin s a b c d l r) = Bin s (a,b,c,d) l r
tip = Word8Word8Word8Word8Tip
bin s (a,b,c,d) = Word8Word8Word8Word8Bin s a b c d
instance US (Word8,Word8,Word8,Word8,Word8) where
data USet (Word8,Word8,Word8,Word8,Word8) = Word8Word8Word8Word8Word8Tip | Word8Word8Word8Word8Word8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8 !(USet (Word8,Word8,Word8,Word8,Word8)) !(USet (Word8,Word8,Word8,Word8,Word8))
view Word8Word8Word8Word8Word8Tip = Tip
view (Word8Word8Word8Word8Word8Bin s a b c d e l r) = Bin s (a,b,c,d,e) l r
tip = Word8Word8Word8Word8Word8Tip
bin s (a,b,c,d,e) = Word8Word8Word8Word8Word8Bin s a b c d e
instance US (Word8,Word8,Word8,Word8,Word8,Word8) where
data USet (Word8,Word8,Word8,Word8,Word8,Word8) = Word8Word8Word8Word8Word8Word8Tip | Word8Word8Word8Word8Word8Word8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8 !(USet (Word8,Word8,Word8,Word8,Word8,Word8)) !(USet (Word8,Word8,Word8,Word8,Word8,Word8))
view Word8Word8Word8Word8Word8Word8Tip = Tip
view (Word8Word8Word8Word8Word8Word8Bin s a b c d e f l r) = Bin s (a,b,c,d,e,f) l r
tip = Word8Word8Word8Word8Word8Word8Tip
bin s (a,b,c,d,e,f) = Word8Word8Word8Word8Word8Word8Bin s a b c d e f
instance US (Word8,Word8,Word8,Word8,Word8,Word8,Word8) where
data USet (Word8,Word8,Word8,Word8,Word8,Word8,Word8) = Word8Word8Word8Word8Word8Word8Word8Tip | Word8Word8Word8Word8Word8Word8Word8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8 !(USet (Word8,Word8,Word8,Word8,Word8,Word8,Word8)) !(USet (Word8,Word8,Word8,Word8,Word8,Word8,Word8))
view Word8Word8Word8Word8Word8Word8Word8Tip = Tip
view (Word8Word8Word8Word8Word8Word8Word8Bin s a b c d e f g l r) = Bin s (a,b,c,d,e,f,g) l r
tip = Word8Word8Word8Word8Word8Word8Word8Tip
bin s (a,b,c,d,e,f,g) = Word8Word8Word8Word8Word8Word8Word8Bin s a b c d e f g
instance US (Word8,Word8,Word8,Word8,Word8,Word8,Word8,Word8) where
data USet (Word8,Word8,Word8,Word8,Word8,Word8,Word8,Word8) = Word8Word8Word8Word8Word8Word8Word8Word8Tip | Word8Word8Word8Word8Word8Word8Word8Word8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8 !(USet (Word8,Word8,Word8,Word8,Word8,Word8,Word8,Word8)) !(USet (Word8,Word8,Word8,Word8,Word8,Word8,Word8,Word8))
view Word8Word8Word8Word8Word8Word8Word8Word8Tip = Tip
view (Word8Word8Word8Word8Word8Word8Word8Word8Bin s a b c d e f g h l r) = Bin s (a,b,c,d,e,f,g,h) l r
tip = Word8Word8Word8Word8Word8Word8Word8Word8Tip
bin s (a,b,c,d,e,f,g,h) = Word8Word8Word8Word8Word8Word8Word8Word8Bin s a b c d e f g h
instance US (Word8,Word8,Word8,Word8,Word8,Word8,Word8,Word8,Word8) where
data USet (Word8,Word8,Word8,Word8,Word8,Word8,Word8,Word8,Word8) = Word8Word8Word8Word8Word8Word8Word8Word8Word8Tip | Word8Word8Word8Word8Word8Word8Word8Word8Word8Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8{-# UNPACK #-} !Word8 !(USet (Word8,Word8,Word8,Word8,Word8,Word8,Word8,Word8,Word8)) !(USet (Word8,Word8,Word8,Word8,Word8,Word8,Word8,Word8,Word8))
view Word8Word8Word8Word8Word8Word8Word8Word8Word8Tip = Tip
view (Word8Word8Word8Word8Word8Word8Word8Word8Word8Bin s a b c d e f g h i l r) = Bin s (a,b,c,d,e,f,g,h,i) l r
tip = Word8Word8Word8Word8Word8Word8Word8Word8Word8Tip
bin s (a,b,c,d,e,f,g,h,i) = Word8Word8Word8Word8Word8Word8Word8Word8Word8Bin s a b c d e f g h i
instance US (Word16,Word16) where
data USet (Word16,Word16) = Word16Word16Tip | Word16Word16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word16{-# UNPACK #-} !Word16 !(USet (Word16,Word16)) !(USet (Word16,Word16))
view Word16Word16Tip = Tip
view (Word16Word16Bin s a b l r) = Bin s (a,b) l r
tip = Word16Word16Tip
bin s (a,b) = Word16Word16Bin s a b
instance US (Word16,Word16,Word16) where
data USet (Word16,Word16,Word16) = Word16Word16Word16Tip | Word16Word16Word16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16 !(USet (Word16,Word16,Word16)) !(USet (Word16,Word16,Word16))
view Word16Word16Word16Tip = Tip
view (Word16Word16Word16Bin s a b c l r) = Bin s (a,b,c) l r
tip = Word16Word16Word16Tip
bin s (a,b,c) = Word16Word16Word16Bin s a b c
instance US (Word16,Word16,Word16,Word16) where
data USet (Word16,Word16,Word16,Word16) = Word16Word16Word16Word16Tip | Word16Word16Word16Word16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16 !(USet (Word16,Word16,Word16,Word16)) !(USet (Word16,Word16,Word16,Word16))
view Word16Word16Word16Word16Tip = Tip
view (Word16Word16Word16Word16Bin s a b c d l r) = Bin s (a,b,c,d) l r
tip = Word16Word16Word16Word16Tip
bin s (a,b,c,d) = Word16Word16Word16Word16Bin s a b c d
instance US (Word16,Word16,Word16,Word16,Word16) where
data USet (Word16,Word16,Word16,Word16,Word16) = Word16Word16Word16Word16Word16Tip | Word16Word16Word16Word16Word16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16 !(USet (Word16,Word16,Word16,Word16,Word16)) !(USet (Word16,Word16,Word16,Word16,Word16))
view Word16Word16Word16Word16Word16Tip = Tip
view (Word16Word16Word16Word16Word16Bin s a b c d e l r) = Bin s (a,b,c,d,e) l r
tip = Word16Word16Word16Word16Word16Tip
bin s (a,b,c,d,e) = Word16Word16Word16Word16Word16Bin s a b c d e
instance US (Word16,Word16,Word16,Word16,Word16,Word16) where
data USet (Word16,Word16,Word16,Word16,Word16,Word16) = Word16Word16Word16Word16Word16Word16Tip | Word16Word16Word16Word16Word16Word16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16 !(USet (Word16,Word16,Word16,Word16,Word16,Word16)) !(USet (Word16,Word16,Word16,Word16,Word16,Word16))
view Word16Word16Word16Word16Word16Word16Tip = Tip
view (Word16Word16Word16Word16Word16Word16Bin s a b c d e f l r) = Bin s (a,b,c,d,e,f) l r
tip = Word16Word16Word16Word16Word16Word16Tip
bin s (a,b,c,d,e,f) = Word16Word16Word16Word16Word16Word16Bin s a b c d e f
instance US (Word16,Word16,Word16,Word16,Word16,Word16,Word16) where
data USet (Word16,Word16,Word16,Word16,Word16,Word16,Word16) = Word16Word16Word16Word16Word16Word16Word16Tip | Word16Word16Word16Word16Word16Word16Word16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16 !(USet (Word16,Word16,Word16,Word16,Word16,Word16,Word16)) !(USet (Word16,Word16,Word16,Word16,Word16,Word16,Word16))
view Word16Word16Word16Word16Word16Word16Word16Tip = Tip
view (Word16Word16Word16Word16Word16Word16Word16Bin s a b c d e f g l r) = Bin s (a,b,c,d,e,f,g) l r
tip = Word16Word16Word16Word16Word16Word16Word16Tip
bin s (a,b,c,d,e,f,g) = Word16Word16Word16Word16Word16Word16Word16Bin s a b c d e f g
instance US (Word16,Word16,Word16,Word16,Word16,Word16,Word16,Word16) where
data USet (Word16,Word16,Word16,Word16,Word16,Word16,Word16,Word16) = Word16Word16Word16Word16Word16Word16Word16Word16Tip | Word16Word16Word16Word16Word16Word16Word16Word16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16 !(USet (Word16,Word16,Word16,Word16,Word16,Word16,Word16,Word16)) !(USet (Word16,Word16,Word16,Word16,Word16,Word16,Word16,Word16))
view Word16Word16Word16Word16Word16Word16Word16Word16Tip = Tip
view (Word16Word16Word16Word16Word16Word16Word16Word16Bin s a b c d e f g h l r) = Bin s (a,b,c,d,e,f,g,h) l r
tip = Word16Word16Word16Word16Word16Word16Word16Word16Tip
bin s (a,b,c,d,e,f,g,h) = Word16Word16Word16Word16Word16Word16Word16Word16Bin s a b c d e f g h
instance US (Word16,Word16,Word16,Word16,Word16,Word16,Word16,Word16,Word16) where
data USet (Word16,Word16,Word16,Word16,Word16,Word16,Word16,Word16,Word16) = Word16Word16Word16Word16Word16Word16Word16Word16Word16Tip | Word16Word16Word16Word16Word16Word16Word16Word16Word16Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16{-# UNPACK #-} !Word16 !(USet (Word16,Word16,Word16,Word16,Word16,Word16,Word16,Word16,Word16)) !(USet (Word16,Word16,Word16,Word16,Word16,Word16,Word16,Word16,Word16))
view Word16Word16Word16Word16Word16Word16Word16Word16Word16Tip = Tip
view (Word16Word16Word16Word16Word16Word16Word16Word16Word16Bin s a b c d e f g h i l r) = Bin s (a,b,c,d,e,f,g,h,i) l r
tip = Word16Word16Word16Word16Word16Word16Word16Word16Word16Tip
bin s (a,b,c,d,e,f,g,h,i) = Word16Word16Word16Word16Word16Word16Word16Word16Word16Bin s a b c d e f g h i
instance US (Word32,Word32) where
data USet (Word32,Word32) = Word32Word32Tip | Word32Word32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word32{-# UNPACK #-} !Word32 !(USet (Word32,Word32)) !(USet (Word32,Word32))
view Word32Word32Tip = Tip
view (Word32Word32Bin s a b l r) = Bin s (a,b) l r
tip = Word32Word32Tip
bin s (a,b) = Word32Word32Bin s a b
instance US (Word32,Word32,Word32) where
data USet (Word32,Word32,Word32) = Word32Word32Word32Tip | Word32Word32Word32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32 !(USet (Word32,Word32,Word32)) !(USet (Word32,Word32,Word32))
view Word32Word32Word32Tip = Tip
view (Word32Word32Word32Bin s a b c l r) = Bin s (a,b,c) l r
tip = Word32Word32Word32Tip
bin s (a,b,c) = Word32Word32Word32Bin s a b c
instance US (Word32,Word32,Word32,Word32) where
data USet (Word32,Word32,Word32,Word32) = Word32Word32Word32Word32Tip | Word32Word32Word32Word32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32 !(USet (Word32,Word32,Word32,Word32)) !(USet (Word32,Word32,Word32,Word32))
view Word32Word32Word32Word32Tip = Tip
view (Word32Word32Word32Word32Bin s a b c d l r) = Bin s (a,b,c,d) l r
tip = Word32Word32Word32Word32Tip
bin s (a,b,c,d) = Word32Word32Word32Word32Bin s a b c d
instance US (Word32,Word32,Word32,Word32,Word32) where
data USet (Word32,Word32,Word32,Word32,Word32) = Word32Word32Word32Word32Word32Tip | Word32Word32Word32Word32Word32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32 !(USet (Word32,Word32,Word32,Word32,Word32)) !(USet (Word32,Word32,Word32,Word32,Word32))
view Word32Word32Word32Word32Word32Tip = Tip
view (Word32Word32Word32Word32Word32Bin s a b c d e l r) = Bin s (a,b,c,d,e) l r
tip = Word32Word32Word32Word32Word32Tip
bin s (a,b,c,d,e) = Word32Word32Word32Word32Word32Bin s a b c d e
instance US (Word32,Word32,Word32,Word32,Word32,Word32) where
data USet (Word32,Word32,Word32,Word32,Word32,Word32) = Word32Word32Word32Word32Word32Word32Tip | Word32Word32Word32Word32Word32Word32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32 !(USet (Word32,Word32,Word32,Word32,Word32,Word32)) !(USet (Word32,Word32,Word32,Word32,Word32,Word32))
view Word32Word32Word32Word32Word32Word32Tip = Tip
view (Word32Word32Word32Word32Word32Word32Bin s a b c d e f l r) = Bin s (a,b,c,d,e,f) l r
tip = Word32Word32Word32Word32Word32Word32Tip
bin s (a,b,c,d,e,f) = Word32Word32Word32Word32Word32Word32Bin s a b c d e f
instance US (Word32,Word32,Word32,Word32,Word32,Word32,Word32) where
data USet (Word32,Word32,Word32,Word32,Word32,Word32,Word32) = Word32Word32Word32Word32Word32Word32Word32Tip | Word32Word32Word32Word32Word32Word32Word32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32 !(USet (Word32,Word32,Word32,Word32,Word32,Word32,Word32)) !(USet (Word32,Word32,Word32,Word32,Word32,Word32,Word32))
view Word32Word32Word32Word32Word32Word32Word32Tip = Tip
view (Word32Word32Word32Word32Word32Word32Word32Bin s a b c d e f g l r) = Bin s (a,b,c,d,e,f,g) l r
tip = Word32Word32Word32Word32Word32Word32Word32Tip
bin s (a,b,c,d,e,f,g) = Word32Word32Word32Word32Word32Word32Word32Bin s a b c d e f g
instance US (Word32,Word32,Word32,Word32,Word32,Word32,Word32,Word32) where
data USet (Word32,Word32,Word32,Word32,Word32,Word32,Word32,Word32) = Word32Word32Word32Word32Word32Word32Word32Word32Tip | Word32Word32Word32Word32Word32Word32Word32Word32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32 !(USet (Word32,Word32,Word32,Word32,Word32,Word32,Word32,Word32)) !(USet (Word32,Word32,Word32,Word32,Word32,Word32,Word32,Word32))
view Word32Word32Word32Word32Word32Word32Word32Word32Tip = Tip
view (Word32Word32Word32Word32Word32Word32Word32Word32Bin s a b c d e f g h l r) = Bin s (a,b,c,d,e,f,g,h) l r
tip = Word32Word32Word32Word32Word32Word32Word32Word32Tip
bin s (a,b,c,d,e,f,g,h) = Word32Word32Word32Word32Word32Word32Word32Word32Bin s a b c d e f g h
instance US (Word32,Word32,Word32,Word32,Word32,Word32,Word32,Word32,Word32) where
data USet (Word32,Word32,Word32,Word32,Word32,Word32,Word32,Word32,Word32) = Word32Word32Word32Word32Word32Word32Word32Word32Word32Tip | Word32Word32Word32Word32Word32Word32Word32Word32Word32Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32{-# UNPACK #-} !Word32 !(USet (Word32,Word32,Word32,Word32,Word32,Word32,Word32,Word32,Word32)) !(USet (Word32,Word32,Word32,Word32,Word32,Word32,Word32,Word32,Word32))
view Word32Word32Word32Word32Word32Word32Word32Word32Word32Tip = Tip
view (Word32Word32Word32Word32Word32Word32Word32Word32Word32Bin s a b c d e f g h i l r) = Bin s (a,b,c,d,e,f,g,h,i) l r
tip = Word32Word32Word32Word32Word32Word32Word32Word32Word32Tip
bin s (a,b,c,d,e,f,g,h,i) = Word32Word32Word32Word32Word32Word32Word32Word32Word32Bin s a b c d e f g h i
instance US (Word64,Word64) where
data USet (Word64,Word64) = Word64Word64Tip | Word64Word64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word64{-# UNPACK #-} !Word64 !(USet (Word64,Word64)) !(USet (Word64,Word64))
view Word64Word64Tip = Tip
view (Word64Word64Bin s a b l r) = Bin s (a,b) l r
tip = Word64Word64Tip
bin s (a,b) = Word64Word64Bin s a b
instance US (Word64,Word64,Word64) where
data USet (Word64,Word64,Word64) = Word64Word64Word64Tip | Word64Word64Word64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64 !(USet (Word64,Word64,Word64)) !(USet (Word64,Word64,Word64))
view Word64Word64Word64Tip = Tip
view (Word64Word64Word64Bin s a b c l r) = Bin s (a,b,c) l r
tip = Word64Word64Word64Tip
bin s (a,b,c) = Word64Word64Word64Bin s a b c
instance US (Word64,Word64,Word64,Word64) where
data USet (Word64,Word64,Word64,Word64) = Word64Word64Word64Word64Tip | Word64Word64Word64Word64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64 !(USet (Word64,Word64,Word64,Word64)) !(USet (Word64,Word64,Word64,Word64))
view Word64Word64Word64Word64Tip = Tip
view (Word64Word64Word64Word64Bin s a b c d l r) = Bin s (a,b,c,d) l r
tip = Word64Word64Word64Word64Tip
bin s (a,b,c,d) = Word64Word64Word64Word64Bin s a b c d
instance US (Word64,Word64,Word64,Word64,Word64) where
data USet (Word64,Word64,Word64,Word64,Word64) = Word64Word64Word64Word64Word64Tip | Word64Word64Word64Word64Word64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64 !(USet (Word64,Word64,Word64,Word64,Word64)) !(USet (Word64,Word64,Word64,Word64,Word64))
view Word64Word64Word64Word64Word64Tip = Tip
view (Word64Word64Word64Word64Word64Bin s a b c d e l r) = Bin s (a,b,c,d,e) l r
tip = Word64Word64Word64Word64Word64Tip
bin s (a,b,c,d,e) = Word64Word64Word64Word64Word64Bin s a b c d e
instance US (Word64,Word64,Word64,Word64,Word64,Word64) where
data USet (Word64,Word64,Word64,Word64,Word64,Word64) = Word64Word64Word64Word64Word64Word64Tip | Word64Word64Word64Word64Word64Word64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64 !(USet (Word64,Word64,Word64,Word64,Word64,Word64)) !(USet (Word64,Word64,Word64,Word64,Word64,Word64))
view Word64Word64Word64Word64Word64Word64Tip = Tip
view (Word64Word64Word64Word64Word64Word64Bin s a b c d e f l r) = Bin s (a,b,c,d,e,f) l r
tip = Word64Word64Word64Word64Word64Word64Tip
bin s (a,b,c,d,e,f) = Word64Word64Word64Word64Word64Word64Bin s a b c d e f
instance US (Word64,Word64,Word64,Word64,Word64,Word64,Word64) where
data USet (Word64,Word64,Word64,Word64,Word64,Word64,Word64) = Word64Word64Word64Word64Word64Word64Word64Tip | Word64Word64Word64Word64Word64Word64Word64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64 !(USet (Word64,Word64,Word64,Word64,Word64,Word64,Word64)) !(USet (Word64,Word64,Word64,Word64,Word64,Word64,Word64))
view Word64Word64Word64Word64Word64Word64Word64Tip = Tip
view (Word64Word64Word64Word64Word64Word64Word64Bin s a b c d e f g l r) = Bin s (a,b,c,d,e,f,g) l r
tip = Word64Word64Word64Word64Word64Word64Word64Tip
bin s (a,b,c,d,e,f,g) = Word64Word64Word64Word64Word64Word64Word64Bin s a b c d e f g
instance US (Word64,Word64,Word64,Word64,Word64,Word64,Word64,Word64) where
data USet (Word64,Word64,Word64,Word64,Word64,Word64,Word64,Word64) = Word64Word64Word64Word64Word64Word64Word64Word64Tip | Word64Word64Word64Word64Word64Word64Word64Word64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64 !(USet (Word64,Word64,Word64,Word64,Word64,Word64,Word64,Word64)) !(USet (Word64,Word64,Word64,Word64,Word64,Word64,Word64,Word64))
view Word64Word64Word64Word64Word64Word64Word64Word64Tip = Tip
view (Word64Word64Word64Word64Word64Word64Word64Word64Bin s a b c d e f g h l r) = Bin s (a,b,c,d,e,f,g,h) l r
tip = Word64Word64Word64Word64Word64Word64Word64Word64Tip
bin s (a,b,c,d,e,f,g,h) = Word64Word64Word64Word64Word64Word64Word64Word64Bin s a b c d e f g h
instance US (Word64,Word64,Word64,Word64,Word64,Word64,Word64,Word64,Word64) where
data USet (Word64,Word64,Word64,Word64,Word64,Word64,Word64,Word64,Word64) = Word64Word64Word64Word64Word64Word64Word64Word64Word64Tip | Word64Word64Word64Word64Word64Word64Word64Word64Word64Bin {-# UNPACK #-} !Size {-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64{-# UNPACK #-} !Word64 !(USet (Word64,Word64,Word64,Word64,Word64,Word64,Word64,Word64,Word64)) !(USet (Word64,Word64,Word64,Word64,Word64,Word64,Word64,Word64,Word64))
view Word64Word64Word64Word64Word64Word64Word64Word64Word64Tip = Tip
view (Word64Word64Word64Word64Word64Word64Word64Word64Word64Bin s a b c d e f g h i l r) = Bin s (a,b,c,d,e,f,g,h,i) l r
tip = Word64Word64Word64Word64Word64Word64Word64Word64Word64Tip
bin s (a,b,c,d,e,f,g,h,i) = Word64Word64Word64Word64Word64Word64Word64Word64Word64Bin s a b c d e f g h i
instance US (Double,Double) where
data USet (Double,Double) = DoubleDoubleTip | DoubleDoubleBin {-# UNPACK #-} !Size {-# UNPACK #-} !Double{-# UNPACK #-} !Double !(USet (Double,Double)) !(USet (Double,Double))
view DoubleDoubleTip = Tip
view (DoubleDoubleBin s a b l r) = Bin s (a,b) l r
tip = DoubleDoubleTip
bin s (a,b) = DoubleDoubleBin s a b
instance US (Double,Double,Double) where
data USet (Double,Double,Double) = DoubleDoubleDoubleTip | DoubleDoubleDoubleBin {-# UNPACK #-} !Size {-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double !(USet (Double,Double,Double)) !(USet (Double,Double,Double))
view DoubleDoubleDoubleTip = Tip
view (DoubleDoubleDoubleBin s a b c l r) = Bin s (a,b,c) l r
tip = DoubleDoubleDoubleTip
bin s (a,b,c) = DoubleDoubleDoubleBin s a b c
instance US (Double,Double,Double,Double) where
data USet (Double,Double,Double,Double) = DoubleDoubleDoubleDoubleTip | DoubleDoubleDoubleDoubleBin {-# UNPACK #-} !Size {-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double !(USet (Double,Double,Double,Double)) !(USet (Double,Double,Double,Double))
view DoubleDoubleDoubleDoubleTip = Tip
view (DoubleDoubleDoubleDoubleBin s a b c d l r) = Bin s (a,b,c,d) l r
tip = DoubleDoubleDoubleDoubleTip
bin s (a,b,c,d) = DoubleDoubleDoubleDoubleBin s a b c d
instance US (Double,Double,Double,Double,Double) where
data USet (Double,Double,Double,Double,Double) = DoubleDoubleDoubleDoubleDoubleTip | DoubleDoubleDoubleDoubleDoubleBin {-# UNPACK #-} !Size {-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double !(USet (Double,Double,Double,Double,Double)) !(USet (Double,Double,Double,Double,Double))
view DoubleDoubleDoubleDoubleDoubleTip = Tip
view (DoubleDoubleDoubleDoubleDoubleBin s a b c d e l r) = Bin s (a,b,c,d,e) l r
tip = DoubleDoubleDoubleDoubleDoubleTip
bin s (a,b,c,d,e) = DoubleDoubleDoubleDoubleDoubleBin s a b c d e
instance US (Double,Double,Double,Double,Double,Double) where
data USet (Double,Double,Double,Double,Double,Double) = DoubleDoubleDoubleDoubleDoubleDoubleTip | DoubleDoubleDoubleDoubleDoubleDoubleBin {-# UNPACK #-} !Size {-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double !(USet (Double,Double,Double,Double,Double,Double)) !(USet (Double,Double,Double,Double,Double,Double))
view DoubleDoubleDoubleDoubleDoubleDoubleTip = Tip
view (DoubleDoubleDoubleDoubleDoubleDoubleBin s a b c d e f l r) = Bin s (a,b,c,d,e,f) l r
tip = DoubleDoubleDoubleDoubleDoubleDoubleTip
bin s (a,b,c,d,e,f) = DoubleDoubleDoubleDoubleDoubleDoubleBin s a b c d e f
instance US (Double,Double,Double,Double,Double,Double,Double) where
data USet (Double,Double,Double,Double,Double,Double,Double) = DoubleDoubleDoubleDoubleDoubleDoubleDoubleTip | DoubleDoubleDoubleDoubleDoubleDoubleDoubleBin {-# UNPACK #-} !Size {-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double !(USet (Double,Double,Double,Double,Double,Double,Double)) !(USet (Double,Double,Double,Double,Double,Double,Double))
view DoubleDoubleDoubleDoubleDoubleDoubleDoubleTip = Tip
view (DoubleDoubleDoubleDoubleDoubleDoubleDoubleBin s a b c d e f g l r) = Bin s (a,b,c,d,e,f,g) l r
tip = DoubleDoubleDoubleDoubleDoubleDoubleDoubleTip
bin s (a,b,c,d,e,f,g) = DoubleDoubleDoubleDoubleDoubleDoubleDoubleBin s a b c d e f g
instance US (Double,Double,Double,Double,Double,Double,Double,Double) where
data USet (Double,Double,Double,Double,Double,Double,Double,Double) = DoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleTip | DoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleBin {-# UNPACK #-} !Size {-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double !(USet (Double,Double,Double,Double,Double,Double,Double,Double)) !(USet (Double,Double,Double,Double,Double,Double,Double,Double))
view DoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleTip = Tip
view (DoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleBin s a b c d e f g h l r) = Bin s (a,b,c,d,e,f,g,h) l r
tip = DoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleTip
bin s (a,b,c,d,e,f,g,h) = DoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleBin s a b c d e f g h
instance US (Double,Double,Double,Double,Double,Double,Double,Double,Double) where
data USet (Double,Double,Double,Double,Double,Double,Double,Double,Double) = DoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleTip | DoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleBin {-# UNPACK #-} !Size {-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double{-# UNPACK #-} !Double !(USet (Double,Double,Double,Double,Double,Double,Double,Double,Double)) !(USet (Double,Double,Double,Double,Double,Double,Double,Double,Double))
view DoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleTip = Tip
view (DoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleBin s a b c d e f g h i l r) = Bin s (a,b,c,d,e,f,g,h,i) l r
tip = DoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleTip
bin s (a,b,c,d,e,f,g,h,i) = DoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleDoubleBin s a b c d e f g h i
instance US (Float,Float) where
data USet (Float,Float) = FloatFloatTip | FloatFloatBin {-# UNPACK #-} !Size {-# UNPACK #-} !Float{-# UNPACK #-} !Float !(USet (Float,Float)) !(USet (Float,Float))
view FloatFloatTip = Tip
view (FloatFloatBin s a b l r) = Bin s (a,b) l r
tip = FloatFloatTip
bin s (a,b) = FloatFloatBin s a b
instance US (Float,Float,Float) where
data USet (Float,Float,Float) = FloatFloatFloatTip | FloatFloatFloatBin {-# UNPACK #-} !Size {-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float !(USet (Float,Float,Float)) !(USet (Float,Float,Float))
view FloatFloatFloatTip = Tip
view (FloatFloatFloatBin s a b c l r) = Bin s (a,b,c) l r
tip = FloatFloatFloatTip
bin s (a,b,c) = FloatFloatFloatBin s a b c
instance US (Float,Float,Float,Float) where
data USet (Float,Float,Float,Float) = FloatFloatFloatFloatTip | FloatFloatFloatFloatBin {-# UNPACK #-} !Size {-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float !(USet (Float,Float,Float,Float)) !(USet (Float,Float,Float,Float))
view FloatFloatFloatFloatTip = Tip
view (FloatFloatFloatFloatBin s a b c d l r) = Bin s (a,b,c,d) l r
tip = FloatFloatFloatFloatTip
bin s (a,b,c,d) = FloatFloatFloatFloatBin s a b c d
instance US (Float,Float,Float,Float,Float) where
data USet (Float,Float,Float,Float,Float) = FloatFloatFloatFloatFloatTip | FloatFloatFloatFloatFloatBin {-# UNPACK #-} !Size {-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float !(USet (Float,Float,Float,Float,Float)) !(USet (Float,Float,Float,Float,Float))
view FloatFloatFloatFloatFloatTip = Tip
view (FloatFloatFloatFloatFloatBin s a b c d e l r) = Bin s (a,b,c,d,e) l r
tip = FloatFloatFloatFloatFloatTip
bin s (a,b,c,d,e) = FloatFloatFloatFloatFloatBin s a b c d e
instance US (Float,Float,Float,Float,Float,Float) where
data USet (Float,Float,Float,Float,Float,Float) = FloatFloatFloatFloatFloatFloatTip | FloatFloatFloatFloatFloatFloatBin {-# UNPACK #-} !Size {-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float !(USet (Float,Float,Float,Float,Float,Float)) !(USet (Float,Float,Float,Float,Float,Float))
view FloatFloatFloatFloatFloatFloatTip = Tip
view (FloatFloatFloatFloatFloatFloatBin s a b c d e f l r) = Bin s (a,b,c,d,e,f) l r
tip = FloatFloatFloatFloatFloatFloatTip
bin s (a,b,c,d,e,f) = FloatFloatFloatFloatFloatFloatBin s a b c d e f
instance US (Float,Float,Float,Float,Float,Float,Float) where
data USet (Float,Float,Float,Float,Float,Float,Float) = FloatFloatFloatFloatFloatFloatFloatTip | FloatFloatFloatFloatFloatFloatFloatBin {-# UNPACK #-} !Size {-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float !(USet (Float,Float,Float,Float,Float,Float,Float)) !(USet (Float,Float,Float,Float,Float,Float,Float))
view FloatFloatFloatFloatFloatFloatFloatTip = Tip
view (FloatFloatFloatFloatFloatFloatFloatBin s a b c d e f g l r) = Bin s (a,b,c,d,e,f,g) l r
tip = FloatFloatFloatFloatFloatFloatFloatTip
bin s (a,b,c,d,e,f,g) = FloatFloatFloatFloatFloatFloatFloatBin s a b c d e f g
instance US (Float,Float,Float,Float,Float,Float,Float,Float) where
data USet (Float,Float,Float,Float,Float,Float,Float,Float) = FloatFloatFloatFloatFloatFloatFloatFloatTip | FloatFloatFloatFloatFloatFloatFloatFloatBin {-# UNPACK #-} !Size {-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float !(USet (Float,Float,Float,Float,Float,Float,Float,Float)) !(USet (Float,Float,Float,Float,Float,Float,Float,Float))
view FloatFloatFloatFloatFloatFloatFloatFloatTip = Tip
view (FloatFloatFloatFloatFloatFloatFloatFloatBin s a b c d e f g h l r) = Bin s (a,b,c,d,e,f,g,h) l r
tip = FloatFloatFloatFloatFloatFloatFloatFloatTip
bin s (a,b,c,d,e,f,g,h) = FloatFloatFloatFloatFloatFloatFloatFloatBin s a b c d e f g h
instance US (Float,Float,Float,Float,Float,Float,Float,Float,Float) where
data USet (Float,Float,Float,Float,Float,Float,Float,Float,Float) = FloatFloatFloatFloatFloatFloatFloatFloatFloatTip | FloatFloatFloatFloatFloatFloatFloatFloatFloatBin {-# UNPACK #-} !Size {-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float{-# UNPACK #-} !Float !(USet (Float,Float,Float,Float,Float,Float,Float,Float,Float)) !(USet (Float,Float,Float,Float,Float,Float,Float,Float,Float))
view FloatFloatFloatFloatFloatFloatFloatFloatFloatTip = Tip
view (FloatFloatFloatFloatFloatFloatFloatFloatFloatBin s a b c d e f g h i l r) = Bin s (a,b,c,d,e,f,g,h,i) l r
tip = FloatFloatFloatFloatFloatFloatFloatFloatFloatTip
bin s (a,b,c,d,e,f,g,h,i) = FloatFloatFloatFloatFloatFloatFloatFloatFloatBin s a b c d e f g h i
instance US (Integer,Integer) where
data USet (Integer,Integer) = IntegerIntegerTip | IntegerIntegerBin {-# UNPACK #-} !Size !Integer!Integer !(USet (Integer,Integer)) !(USet (Integer,Integer))
view IntegerIntegerTip = Tip
view (IntegerIntegerBin s a b l r) = Bin s (a,b) l r
tip = IntegerIntegerTip
bin s (a,b) = IntegerIntegerBin s a b
instance US (Integer,Integer,Integer) where
data USet (Integer,Integer,Integer) = IntegerIntegerIntegerTip | IntegerIntegerIntegerBin {-# UNPACK #-} !Size !Integer!Integer!Integer !(USet (Integer,Integer,Integer)) !(USet (Integer,Integer,Integer))
view IntegerIntegerIntegerTip = Tip
view (IntegerIntegerIntegerBin s a b c l r) = Bin s (a,b,c) l r
tip = IntegerIntegerIntegerTip
bin s (a,b,c) = IntegerIntegerIntegerBin s a b c
instance US (Integer,Integer,Integer,Integer) where
data USet (Integer,Integer,Integer,Integer) = IntegerIntegerIntegerIntegerTip | IntegerIntegerIntegerIntegerBin {-# UNPACK #-} !Size !Integer!Integer!Integer!Integer !(USet (Integer,Integer,Integer,Integer)) !(USet (Integer,Integer,Integer,Integer))
view IntegerIntegerIntegerIntegerTip = Tip
view (IntegerIntegerIntegerIntegerBin s a b c d l r) = Bin s (a,b,c,d) l r
tip = IntegerIntegerIntegerIntegerTip
bin s (a,b,c,d) = IntegerIntegerIntegerIntegerBin s a b c d
instance US (Integer,Integer,Integer,Integer,Integer) where
data USet (Integer,Integer,Integer,Integer,Integer) = IntegerIntegerIntegerIntegerIntegerTip | IntegerIntegerIntegerIntegerIntegerBin {-# UNPACK #-} !Size !Integer!Integer!Integer!Integer!Integer !(USet (Integer,Integer,Integer,Integer,Integer)) !(USet (Integer,Integer,Integer,Integer,Integer))
view IntegerIntegerIntegerIntegerIntegerTip = Tip
view (IntegerIntegerIntegerIntegerIntegerBin s a b c d e l r) = Bin s (a,b,c,d,e) l r
tip = IntegerIntegerIntegerIntegerIntegerTip
bin s (a,b,c,d,e) = IntegerIntegerIntegerIntegerIntegerBin s a b c d e
instance US (Integer,Integer,Integer,Integer,Integer,Integer) where
data USet (Integer,Integer,Integer,Integer,Integer,Integer) = IntegerIntegerIntegerIntegerIntegerIntegerTip | IntegerIntegerIntegerIntegerIntegerIntegerBin {-# UNPACK #-} !Size !Integer!Integer!Integer!Integer!Integer!Integer !(USet (Integer,Integer,Integer,Integer,Integer,Integer)) !(USet (Integer,Integer,Integer,Integer,Integer,Integer))
view IntegerIntegerIntegerIntegerIntegerIntegerTip = Tip
view (IntegerIntegerIntegerIntegerIntegerIntegerBin s a b c d e f l r) = Bin s (a,b,c,d,e,f) l r
tip = IntegerIntegerIntegerIntegerIntegerIntegerTip
bin s (a,b,c,d,e,f) = IntegerIntegerIntegerIntegerIntegerIntegerBin s a b c d e f
instance US (Integer,Integer,Integer,Integer,Integer,Integer,Integer) where
data USet (Integer,Integer,Integer,Integer,Integer,Integer,Integer) = IntegerIntegerIntegerIntegerIntegerIntegerIntegerTip | IntegerIntegerIntegerIntegerIntegerIntegerIntegerBin {-# UNPACK #-} !Size !Integer!Integer!Integer!Integer!Integer!Integer!Integer !(USet (Integer,Integer,Integer,Integer,Integer,Integer,Integer)) !(USet (Integer,Integer,Integer,Integer,Integer,Integer,Integer))
view IntegerIntegerIntegerIntegerIntegerIntegerIntegerTip = Tip
view (IntegerIntegerIntegerIntegerIntegerIntegerIntegerBin s a b c d e f g l r) = Bin s (a,b,c,d,e,f,g) l r
tip = IntegerIntegerIntegerIntegerIntegerIntegerIntegerTip
bin s (a,b,c,d,e,f,g) = IntegerIntegerIntegerIntegerIntegerIntegerIntegerBin s a b c d e f g
instance US (Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer) where
data USet (Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer) = IntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerTip | IntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerBin {-# UNPACK #-} !Size !Integer!Integer!Integer!Integer!Integer!Integer!Integer!Integer !(USet (Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer)) !(USet (Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer))
view IntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerTip = Tip
view (IntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerBin s a b c d e f g h l r) = Bin s (a,b,c,d,e,f,g,h) l r
tip = IntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerTip
bin s (a,b,c,d,e,f,g,h) = IntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerBin s a b c d e f g h
instance US (Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer) where
data USet (Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer) = IntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerTip | IntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerBin {-# UNPACK #-} !Size !Integer!Integer!Integer!Integer!Integer!Integer!Integer!Integer!Integer !(USet (Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer)) !(USet (Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer,Integer))
view IntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerTip = Tip
view (IntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerBin s a b c d e f g h i l r) = Bin s (a,b,c,d,e,f,g,h,i) l r
tip = IntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerTip
bin s (a,b,c,d,e,f,g,h,i) = IntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerIntegerBin s a b c d e f g h i
instance US (Boxed a,Boxed b) where
data USet (Boxed a,Boxed b) = BoxedBoxedTip | BoxedBoxedBin {-# UNPACK #-} !Size (Boxed a)(Boxed b) !(USet (Boxed a,Boxed b)) !(USet (Boxed a,Boxed b))
view BoxedBoxedTip = Tip
view (BoxedBoxedBin s a b l r) = Bin s (a,b) l r
tip = BoxedBoxedTip
bin s (a,b) = BoxedBoxedBin s a b
instance US (Boxed a,Boxed b,Boxed c) where
data USet (Boxed a,Boxed b,Boxed c) = BoxedBoxedBoxedTip | BoxedBoxedBoxedBin {-# UNPACK #-} !Size (Boxed a)(Boxed b)(Boxed c) !(USet (Boxed a,Boxed b,Boxed c)) !(USet (Boxed a,Boxed b,Boxed c))
view BoxedBoxedBoxedTip = Tip
view (BoxedBoxedBoxedBin s a b c l r) = Bin s (a,b,c) l r
tip = BoxedBoxedBoxedTip
bin s (a,b,c) = BoxedBoxedBoxedBin s a b c
instance US (Boxed a,Boxed b,Boxed c,Boxed d) where
data USet (Boxed a,Boxed b,Boxed c,Boxed d) = BoxedBoxedBoxedBoxedTip | BoxedBoxedBoxedBoxedBin {-# UNPACK #-} !Size (Boxed a)(Boxed b)(Boxed c)(Boxed d) !(USet (Boxed a,Boxed b,Boxed c,Boxed d)) !(USet (Boxed a,Boxed b,Boxed c,Boxed d))
view BoxedBoxedBoxedBoxedTip = Tip
view (BoxedBoxedBoxedBoxedBin s a b c d l r) = Bin s (a,b,c,d) l r
tip = BoxedBoxedBoxedBoxedTip
bin s (a,b,c,d) = BoxedBoxedBoxedBoxedBin s a b c d
instance US (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e) where
data USet (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e) = BoxedBoxedBoxedBoxedBoxedTip | BoxedBoxedBoxedBoxedBoxedBin {-# UNPACK #-} !Size (Boxed a)(Boxed b)(Boxed c)(Boxed d)(Boxed e) !(USet (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e)) !(USet (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e))
view BoxedBoxedBoxedBoxedBoxedTip = Tip
view (BoxedBoxedBoxedBoxedBoxedBin s a b c d e l r) = Bin s (a,b,c,d,e) l r
tip = BoxedBoxedBoxedBoxedBoxedTip
bin s (a,b,c,d,e) = BoxedBoxedBoxedBoxedBoxedBin s a b c d e
instance US (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e,Boxed f) where
data USet (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e,Boxed f) = BoxedBoxedBoxedBoxedBoxedBoxedTip | BoxedBoxedBoxedBoxedBoxedBoxedBin {-# UNPACK #-} !Size (Boxed a)(Boxed b)(Boxed c)(Boxed d)(Boxed e)(Boxed f) !(USet (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e,Boxed f)) !(USet (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e,Boxed f))
view BoxedBoxedBoxedBoxedBoxedBoxedTip = Tip
view (BoxedBoxedBoxedBoxedBoxedBoxedBin s a b c d e f l r) = Bin s (a,b,c,d,e,f) l r
tip = BoxedBoxedBoxedBoxedBoxedBoxedTip
bin s (a,b,c,d,e,f) = BoxedBoxedBoxedBoxedBoxedBoxedBin s a b c d e f
instance US (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e,Boxed f,Boxed g) where
data USet (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e,Boxed f,Boxed g) = BoxedBoxedBoxedBoxedBoxedBoxedBoxedTip | BoxedBoxedBoxedBoxedBoxedBoxedBoxedBin {-# UNPACK #-} !Size (Boxed a)(Boxed b)(Boxed c)(Boxed d)(Boxed e)(Boxed f)(Boxed g) !(USet (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e,Boxed f,Boxed g)) !(USet (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e,Boxed f,Boxed g))
view BoxedBoxedBoxedBoxedBoxedBoxedBoxedTip = Tip
view (BoxedBoxedBoxedBoxedBoxedBoxedBoxedBin s a b c d e f g l r) = Bin s (a,b,c,d,e,f,g) l r
tip = BoxedBoxedBoxedBoxedBoxedBoxedBoxedTip
bin s (a,b,c,d,e,f,g) = BoxedBoxedBoxedBoxedBoxedBoxedBoxedBin s a b c d e f g
instance US (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e,Boxed f,Boxed g,Boxed h) where
data USet (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e,Boxed f,Boxed g,Boxed h) = BoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedTip | BoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedBin {-# UNPACK #-} !Size (Boxed a)(Boxed b)(Boxed c)(Boxed d)(Boxed e)(Boxed f)(Boxed g)(Boxed h) !(USet (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e,Boxed f,Boxed g,Boxed h)) !(USet (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e,Boxed f,Boxed g,Boxed h))
view BoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedTip = Tip
view (BoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedBin s a b c d e f g h l r) = Bin s (a,b,c,d,e,f,g,h) l r
tip = BoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedTip
bin s (a,b,c,d,e,f,g,h) = BoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedBin s a b c d e f g h
instance US (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e,Boxed f,Boxed g,Boxed h,Boxed i) where
data USet (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e,Boxed f,Boxed g,Boxed h,Boxed i) = BoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedTip | BoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedBin {-# UNPACK #-} !Size (Boxed a)(Boxed b)(Boxed c)(Boxed d)(Boxed e)(Boxed f)(Boxed g)(Boxed h)(Boxed i) !(USet (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e,Boxed f,Boxed g,Boxed h,Boxed i)) !(USet (Boxed a,Boxed b,Boxed c,Boxed d,Boxed e,Boxed f,Boxed g,Boxed h,Boxed i))
view BoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedTip = Tip
view (BoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedBin s a b c d e f g h i l r) = Bin s (a,b,c,d,e,f,g,h,i) l r
tip = BoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedTip
bin s (a,b,c,d,e,f,g,h,i) = BoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedBoxedBin s a b c d e f g h i