diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -120,4 +120,7 @@
 speaking other values of the resulting 'Double's, so probably the previous results can 
 differ (sometimes significantly and essentially).
 
+## 0.16.0.0 -- 2022-09-13
 
+* Sixteenth version. Switched to the generalization of the diverse functions. Changed the 
+type of many functions related. Updated the dependencies as needed.
diff --git a/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG21.hs b/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG21.hs
--- a/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG21.hs
+++ b/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG21.hs
@@ -27,6 +27,7 @@
 import GHC.Arr (Array)
 import GHC.Int (Int8)
 import Phonetic.Languages.Emphasis
+import Phonetic.Languages.Coeffs
 
 procBothFTup
   :: (Ord c) => Array Int (Int8, Bool)
@@ -48,9 +49,10 @@
   -> Array Int (Int8,Bool)
   -> (Double -> c)
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procBothFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs
- = procB2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD coeffs
+procBothFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs sels
+ = procB2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD coeffs sels
 {-# INLINE procBothFTup #-}
 
 procBothFFTup
@@ -74,9 +76,10 @@
   -> Double
   -> (Double -> c)
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procBothFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs
- = procB2FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD coeffs
+procBothFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs sels
+ = procB2FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD coeffs sels
 {-# INLINE procBothFFTup #-}
 
 procBothInvFTup
@@ -99,9 +102,10 @@
   -> Array Int (Int8,Bool)
   -> (Double -> c)
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procBothInvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs
- = procB2InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD coeffs
+procBothInvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs sels
+ = procB2InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD coeffs sels
 {-# INLINE procBothInvFTup #-}
 
 procBothInvFFTup
@@ -125,8 +129,9 @@
   -> Double
   -> (Double -> c)
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procBothInvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs
- = procB2InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD coeffs
+procBothInvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs sels
+ = procB2InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD coeffs sels
 {-# INLINE procBothInvFFTup #-}
 
diff --git a/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG22.hs b/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG22.hs
--- a/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG22.hs
+++ b/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG22.hs
@@ -28,6 +28,7 @@
 import GHC.Arr (Array)
 import GHC.Int (Int8)
 import Phonetic.Languages.Emphasis
+import Phonetic.Languages.Coeffs
 
 procBoth2FTup
   :: (Ord c) => Array Int (Int8, Bool)
@@ -49,9 +50,10 @@
   -> Array Int (Int8,Bool)
   -> (Double -> c)
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procBoth2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs
- = procB2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD2 coeffs
+procBoth2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs sels
+ = procB2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD2 coeffs sels
 {-# INLINE procBoth2FTup #-}
 
 procBoth2FFTup
@@ -75,9 +77,10 @@
   -> Double
   -> (Double -> c)
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procBoth2FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs
- = procB2FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD2 coeffs
+procBoth2FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs sels
+ = procB2FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD2 coeffs sels
 {-# INLINE procBoth2FFTup #-}
 
 procBoth2InvFTup
@@ -100,9 +103,10 @@
   -> Array Int (Int8,Bool)
   -> (Double -> c)
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procBoth2InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs
- = procB2InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD2 coeffs
+procBoth2InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs sels
+ = procB2InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD2 coeffs sels
 {-# INLINE procBoth2InvFTup #-}
 
 procBoth2InvFFTup
@@ -126,8 +130,9 @@
   -> Double
   -> (Double -> c)
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procBoth2InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs
- = procB2InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD2 coeffs
+procBoth2InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs sels
+ = procB2InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD2 coeffs sels
 {-# INLINE procBoth2InvFFTup #-}
 
diff --git a/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG23.hs b/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG23.hs
--- a/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG23.hs
+++ b/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG23.hs
@@ -28,6 +28,7 @@
 import GHC.Arr (Array)
 import GHC.Int (Int8)
 import Phonetic.Languages.Emphasis
+import Phonetic.Languages.Coeffs
 
 procBoth3FTup
   :: (Ord c) => Array Int (Int8, Bool)
@@ -49,9 +50,10 @@
   -> Array Int (Int8,Bool)
   -> (Double -> c)
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procBoth3FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs
- = procB2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD3 coeffs
+procBoth3FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs sels
+ = procB2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD3 coeffs sels
 {-# INLINE procBoth3FTup #-}
 
 procBoth3FFTup
@@ -75,9 +77,10 @@
   -> Double
   -> (Double -> c)
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procBoth3FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs
- = procB2FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD3 coeffs
+procBoth3FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs sels
+ = procB2FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD3 coeffs sels
 {-# INLINE procBoth3FFTup #-}
 
 procBoth3InvFTup
@@ -100,9 +103,10 @@
   -> Array Int (Int8,Bool)
   -> (Double -> c)
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procBoth3InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs
- = procB2InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD3 coeffs
+procBoth3InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs sels
+ = procB2InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD3 coeffs sels
 {-# INLINE procBoth3InvFTup #-}
 
 procBoth3InvFFTup
@@ -126,8 +130,9 @@
   -> Double
   -> (Double -> c)
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procBoth3InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs
- = procB2InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD3 coeffs
+procBoth3InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs sels
+ = procB2InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD3 coeffs sels
 {-# INLINE procBoth3InvFFTup #-}
 
diff --git a/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG24.hs b/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG24.hs
--- a/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG24.hs
+++ b/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG24.hs
@@ -28,6 +28,7 @@
 import GHC.Arr (Array)
 import GHC.Int (Int8)
 import Phonetic.Languages.Emphasis
+import Phonetic.Languages.Coeffs
 
 procBoth4FTup
   :: (Ord c) => Array Int (Int8, Bool)
@@ -49,9 +50,10 @@
   -> Array Int (Int8,Bool)
   -> (Double -> c)
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procBoth4FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs
- = procB2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD4 coeffs
+procBoth4FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs sels
+ = procB2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD4 coeffs sels
 {-# INLINE procBoth4FTup #-}
 
 procBoth4FFTup
@@ -75,9 +77,10 @@
   -> Double
   -> (Double -> c)
   -> Coeffs2
+  -> FlowSound 
   -> FuncRep2 ReadyForConstructionUkr Double c
-procBoth4FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs
- = procB2FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD4 coeffs
+procBoth4FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs sels
+ = procB2FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD4 coeffs sels
 {-# INLINE procBoth4FFTup #-}
 
 procBoth4InvFTup
@@ -100,9 +103,10 @@
   -> Array Int (Int8,Bool)
   -> (Double -> c)
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procBoth4InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs
- = procB2InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD4 coeffs
+procBoth4InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g coeffs sels
+ = procB2InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 g SD.syllableDurationsD4 coeffs sels
 {-# INLINE procBoth4InvFTup #-}
 
 procBoth4InvFFTup
@@ -126,8 +130,9 @@
   -> Double
   -> (Double -> c)
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procBoth4InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs
- = procB2InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD4 coeffs
+procBoth4InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g coeffs sels
+ = procB2InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g SD.syllableDurationsD4 coeffs sels
 {-# INLINE procBoth4InvFFTup #-}
 
diff --git a/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Common.hs b/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Common.hs
--- a/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Common.hs
+++ b/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Common.hs
@@ -31,6 +31,7 @@
 import GHC.Arr (Array)
 import GHC.Int (Int8)
 import Phonetic.Languages.Emphasis
+import Phonetic.Languages.Coeffs
 
 #ifdef __GLASGOW_HASKELL__
 #if __GLASGOW_HASKELL__==708
@@ -61,11 +62,12 @@
   -> (Double -> c)
   -> ([[[Sound8]]] -> [[Double]])
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procB2FGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 h1 h g coeffs
+procB2FGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 h1 h g coeffs sels
  = D (\xs -> case xs of
                Str ts ->
-                 let ys = convertToProperUkrainianI8WithTuples  tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 .          map (\x -> if x == '-' then ' ' else x) $ ts in  ((int2Double . fromEnum . diverse2GLInt8 [100,101] $ ys)*(h1 . mconcat . g .
+                 let ys = convertToProperUkrainianI8WithTuples  tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 .          map (\x -> if x == '-' then ' ' else x) $ ts in  ((int2Double . fromEnum . diverse2GGL sels [100,101] $ ys)*(h1 . mconcat . g .
                              map (S.divVwls . S.reSyllableCntntsTup tup17 . S.groupSnds) . words1 $ ys))
                FSL xsss -> h1 . mconcat . g $ xsss) h
 {-# INLINE procB2FGTup #-}
@@ -92,13 +94,14 @@
   -> (Double -> c)
   -> ([[[Sound8]]] -> [[Double]])
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procB2InvFGTup  tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 h1 h g coeffs
+procB2InvFGTup  tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 h1 h g coeffs sels
  = D (\xs -> case xs of
                Str ts ->
                  let !ys = convertToProperUkrainianI8WithTuples  tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 .
                              map (\x -> if x == '-' then ' ' else x) $ ts
-                     !z = diverse2GLInt8 [100,101] ys in if z == 0 then  (h1 . mconcat . g . map (S.divVwls . S.reSyllableCntntsTup tup17 .
+                     !z = diverse2GGL sels [100,101] ys in if z == 0 then  (h1 . mconcat . g . map (S.divVwls . S.reSyllableCntntsTup tup17 .
                              S.groupSnds) . words1 $ ys) ** 2.0
                                  else  ((h1 . mconcat . g . map (S.divVwls . S.reSyllableCntntsTup tup17 . S.groupSnds) . words1 $ ys) / (int2Double . fromEnum $ z))
                FSL xsss -> h1 . mconcat . g $ xsss) h
@@ -125,9 +128,10 @@
   -> (Double -> c)
   -> ([[[Sound8]]] -> [[Double]])
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procB2FTup  tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 h g coeffs
- = procB2FGTup  tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 (eval23Coeffs coeffs) h g coeffs
+procB2FTup  tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 h g coeffs sels
+ = procB2FGTup  tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 (eval23Coeffs coeffs) h g coeffs sels
 {-# INLINE procB2FTup #-}
 
 procB2FFTup
@@ -152,9 +156,10 @@
   -> (Double -> c)
   -> ([[[Sound8]]] -> [[Double]])
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procB2FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  k h g coeffs
- = procB2FGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 (eval23CoeffsF k coeffs) h g coeffs
+procB2FFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  k h g coeffs sels
+ = procB2FGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 (eval23CoeffsF k coeffs) h g coeffs sels
 {-# INLINE procB2FFTup #-}
 
 procB2InvFTup
@@ -178,9 +183,10 @@
   -> (Double -> c)
   -> ([[[Sound8]]] -> [[Double]])
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procB2InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 h g coeffs
- = procB2InvFGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 (eval23Coeffs coeffs) h g coeffs
+procB2InvFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 h g coeffs sels
+ = procB2InvFGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 (eval23Coeffs coeffs) h g coeffs sels
 {-# INLINE procB2InvFTup #-}
 
 procB2InvFFTup
@@ -205,8 +211,9 @@
   -> (Double -> c)
   -> ([[[Sound8]]] -> [[Double]])
   -> Coeffs2
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procB2InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k h g coeffs
- = procB2InvFGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 (eval23CoeffsF k coeffs) h g coeffs
+procB2InvFFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k h g coeffs sels
+ = procB2InvFGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 (eval23CoeffsF k coeffs) h g coeffs sels
 {-# INLINE procB2InvFFTup #-}
 
diff --git a/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Diverse.hs b/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Diverse.hs
--- a/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Diverse.hs
+++ b/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Diverse.hs
@@ -44,10 +44,11 @@
   -> Array Int (Char, Bool)
   -> Array Int (Char, Bool)
   -> (Int16 -> c)
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Int16 c
-procDiverse2ITup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 g 
+procDiverse2ITup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 g sels
   = D (\x -> case x of
-               Str xs -> diverse2GLInt8 [100,101] .
+               Str xs -> diverse2GGL sels [100,101] .
                   convertToProperUkrainianI8WithTuples tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 $ xs
                FSL xsss -> 1) g
 {-# INLINE procDiverse2ITup #-}
@@ -70,10 +71,11 @@
   -> Array Int (Char, Bool)
   -> Array Int (Char, Bool)
   -> (Double -> c)
+  -> FlowSound
   -> FuncRep2 ReadyForConstructionUkr Double c
-procDiverse2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 g
+procDiverse2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 g sels
   = D (\x -> case x of
-               Str xs -> int2Double . fromEnum . diverse2GLInt8 [100,101] .
+               Str xs -> int2Double . fromEnum . diverse2GGL sels [100,101] .
                   convertToProperUkrainianI8WithTuples tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 $ xs
                FSL xsss -> 1.0) g
 {-# INLINE procDiverse2FTup #-}
diff --git a/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Rhythmicity.hs b/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Rhythmicity.hs
--- a/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Rhythmicity.hs
+++ b/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2Rhythmicity.hs
@@ -28,6 +28,7 @@
 import GHC.Arr (Array)
 import GHC.Int (Int8)
 import Phonetic.Languages.Emphasis
+import Phonetic.Languages.Coeffs
 
 procRhythm23F
   :: (Ord c) => (Double -> c)
diff --git a/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2H.hs b/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2H.hs
--- a/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2H.hs
+++ b/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2H.hs
@@ -40,6 +40,7 @@
 import GHC.Arr (Array)
 import GHC.Int (Int8)
 import Phonetic.Languages.Emphasis
+import Phonetic.Languages.Coeffs
 
 #ifdef __GLASGOW_HASKELL__
 #if __GLASGOW_HASKELL__==708
diff --git a/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2Hprime.hs b/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2Hprime.hs
--- a/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2Hprime.hs
+++ b/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2Hprime.hs
@@ -41,6 +41,7 @@
 import GHC.Arr (Array)
 import GHC.Int (Int8)
 import Phonetic.Languages.Emphasis
+import Phonetic.Languages.Coeffs
 
 #ifdef __GLASGOW_HASKELL__
 #if __GLASGOW_HASKELL__==708
diff --git a/phonetic-languages-simplified-properties-array.cabal b/phonetic-languages-simplified-properties-array.cabal
--- a/phonetic-languages-simplified-properties-array.cabal
+++ b/phonetic-languages-simplified-properties-array.cabal
@@ -2,7 +2,7 @@
 -- For further documentation, see http://haskell.org/cabal/users-guide/
 
 name:                phonetic-languages-simplified-properties-array
-version:             0.15.0.0
+version:             0.16.0.0
 synopsis:            Some properties of the data related to rhythmicity.
 description:         A generalization of the uniqueness-periods-vector-properties package. Is a simplified version of the functionality of the former one. Uses lists and arrays as main processment data types. Uses Double whenever applicable.
 homepage:            https://hackage.haskell.org/package/phonetic-languages-simplified-properties-array
@@ -20,6 +20,6 @@
   exposed-modules:     Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2, Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2, Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common, Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201, Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2H, Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Hprime, Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common, Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Rhythmicity, Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Diverse, Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG21, Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG22, Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG23, Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG24, Phonetic.Languages.Emphasis
   -- other-modules:
   other-extensions:    BangPatterns, CPP, MultiWayIf
-  build-depends:       base >=4.8 && <5, phonetic-languages-rhythmicity ==0.9.2.0, phonetic-languages-simplified-base ==0.6.0.0, ukrainian-phonetics-basic-array ==0.6.0.0, phonetic-languages-basis ==0.1.1.0, phonetic-languages-simplified-properties-array-common ==0.2.0.0, mmsyn2-array == 0.3.0.0, lists-flines ==0.1.2.0
+  build-depends:       base >=4.8 && <5, phonetic-languages-rhythmicity ==0.9.2.0, phonetic-languages-simplified-base ==0.6.1.0, ukrainian-phonetics-basic-array ==0.6.0.0, phonetic-languages-basis ==0.2.0.0, phonetic-languages-simplified-properties-array-common ==0.3.0.0, mmsyn2-array == 0.3.0.0, lists-flines ==0.1.2.0
   -- hs-source-dirs:
   default-language:    Haskell2010
