-- | A special class of bounds for RNA/pair encodings that are used to index-- into tables. We typically encode more in the alphabets than we want to use-- to index, so in order to keep things simple, we have specialized bounds.moduleBiobase.Primary.Boundswhere-- | 'minNormal' and 'maxNormal' encode for, say, ACGU; while 'minExtended' and-- 'maxExtended' would allow 'N' as well. See Biobase.RNA and-- Biobase.RNA.ViennaPair for instances.classBoundeda=>BoundsawhereminNormal::amaxNormal::aminExtended::amaxExtended::a-- * Instances for tuples of size 2-6instance(Boundsa,Boundsb)=>Bounds(a,b)whereminNormal=(minNormal,minNormal)maxNormal=(maxNormal,maxNormal)minExtended=(minExtended,minExtended)maxExtended=(maxExtended,maxExtended)instance(Boundsa,Boundsb,Boundsc)=>Bounds(a,b,c)whereminNormal=(minNormal,minNormal,minNormal)maxNormal=(maxNormal,maxNormal,maxNormal)minExtended=(minExtended,minExtended,minExtended)maxExtended=(maxExtended,maxExtended,maxExtended)instance(Boundsa,Boundsb,Boundsc,Boundsd)=>Bounds(a,b,c,d)whereminNormal=(minNormal,minNormal,minNormal,minNormal)maxNormal=(maxNormal,maxNormal,maxNormal,maxNormal)minExtended=(minExtended,minExtended,minExtended,minExtended)maxExtended=(maxExtended,maxExtended,maxExtended,maxExtended)instance(Boundsa,Boundsb,Boundsc,Boundsd,Boundse)=>Bounds(a,b,c,d,e)whereminNormal=(minNormal,minNormal,minNormal,minNormal,minNormal)maxNormal=(maxNormal,maxNormal,maxNormal,maxNormal,maxNormal)minExtended=(minExtended,minExtended,minExtended,minExtended,minExtended)maxExtended=(maxExtended,maxExtended,maxExtended,maxExtended,maxExtended)instance(Boundsa,Boundsb,Boundsc,Boundsd,Boundse,Boundsf)=>Bounds(a,b,c,d,e,f)whereminNormal=(minNormal,minNormal,minNormal,minNormal,minNormal,minNormal)maxNormal=(maxNormal,maxNormal,maxNormal,maxNormal,maxNormal,maxNormal)minExtended=(minExtended,minExtended,minExtended,minExtended,minExtended,minExtended)maxExtended=(maxExtended,maxExtended,maxExtended,maxExtended,maxExtended,maxExtended)