diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -110,3 +110,14 @@
 versions of functions without extended usage of the optimization tuples to the other new 
 package phonetic-languages-simplified-properties-old.
 
+## 0.15.0.0 -- 2022-08-09
+
+* Fifteenth version. Added a new module Phonetic.Languages.Emphasis to provide the new syllable-based functionality. 
+Changed the structure of the non-sound Ukraninian symbols representation (now they are converted to one
+of the [100,101,102]). Updated the dependencies so that they are now coherent with the ukrainian-phonetics-basic-array-0.6.0.0 package.
+Some changes in the existing functions to provide the new extended functionality and some
+additions with the similar but different functionalities. These changes lead to generally 
+speaking other values of the resulting 'Double's, so probably the previous results can 
+differ (sometimes significantly and essentially).
+
+
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
@@ -20,13 +20,13 @@
 ) where
 
 import Phonetic.Languages.Array.Ukrainian.Common
---import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common
 import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common
 import Phonetic.Languages.Basis
 import qualified Languages.Phonetic.Ukrainian.Syllable.Double.ArrInt8 as SD
 import Melodics.Ukrainian.ArrInt8
 import GHC.Arr (Array)
 import GHC.Int (Int8)
+import Phonetic.Languages.Emphasis
 
 procBothFTup
   :: (Ord c) => Array Int (Int8, Bool)
@@ -48,7 +48,7 @@
   -> Array Int (Int8,Bool)
   -> (Double -> c)
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# INLINE procBothFTup #-}
@@ -74,7 +74,7 @@
   -> Double
   -> (Double -> c)
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# INLINE procBothFFTup #-}
@@ -99,7 +99,7 @@
   -> Array Int (Int8,Bool)
   -> (Double -> c)
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# INLINE procBothInvFTup #-}
@@ -125,7 +125,7 @@
   -> Double
   -> (Double -> c)
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# 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
@@ -21,13 +21,13 @@
 ) where
 
 import Phonetic.Languages.Array.Ukrainian.Common
---import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common
 import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common
 import Phonetic.Languages.Basis
 import qualified Languages.Phonetic.Ukrainian.Syllable.Double.ArrInt8 as SD
 import Melodics.Ukrainian.ArrInt8
 import GHC.Arr (Array)
 import GHC.Int (Int8)
+import Phonetic.Languages.Emphasis
 
 procBoth2FTup
   :: (Ord c) => Array Int (Int8, Bool)
@@ -49,7 +49,7 @@
   -> Array Int (Int8,Bool)
   -> (Double -> c)
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# INLINE procBoth2FTup #-}
@@ -75,7 +75,7 @@
   -> Double
   -> (Double -> c)
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# INLINE procBoth2FFTup #-}
@@ -100,7 +100,7 @@
   -> Array Int (Int8,Bool)
   -> (Double -> c)
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# INLINE procBoth2InvFTup #-}
@@ -126,7 +126,7 @@
   -> Double
   -> (Double -> c)
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# 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
@@ -21,13 +21,13 @@
 ) where
 
 import Phonetic.Languages.Array.Ukrainian.Common
---import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common
 import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common
 import Phonetic.Languages.Basis
 import qualified Languages.Phonetic.Ukrainian.Syllable.Double.ArrInt8 as SD
 import Melodics.Ukrainian.ArrInt8
 import GHC.Arr (Array)
 import GHC.Int (Int8)
+import Phonetic.Languages.Emphasis
 
 procBoth3FTup
   :: (Ord c) => Array Int (Int8, Bool)
@@ -49,7 +49,7 @@
   -> Array Int (Int8,Bool)
   -> (Double -> c)
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# INLINE procBoth3FTup #-}
@@ -75,7 +75,7 @@
   -> Double
   -> (Double -> c)
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# INLINE procBoth3FFTup #-}
@@ -100,7 +100,7 @@
   -> Array Int (Int8,Bool)
   -> (Double -> c)
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# INLINE procBoth3InvFTup #-}
@@ -126,7 +126,7 @@
   -> Double
   -> (Double -> c)
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# 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
@@ -21,13 +21,13 @@
 ) where
 
 import Phonetic.Languages.Array.Ukrainian.Common
---import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common
 import Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2Common
 import Phonetic.Languages.Basis
 import qualified Languages.Phonetic.Ukrainian.Syllable.Double.ArrInt8 as SD
 import Melodics.Ukrainian.ArrInt8
 import GHC.Arr (Array)
 import GHC.Int (Int8)
+import Phonetic.Languages.Emphasis
 
 procBoth4FTup
   :: (Ord c) => Array Int (Int8, Bool)
@@ -49,7 +49,7 @@
   -> Array Int (Int8,Bool)
   -> (Double -> c)
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# INLINE procBoth4FTup #-}
@@ -75,7 +75,7 @@
   -> Double
   -> (Double -> c)
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# INLINE procBoth4FFTup #-}
@@ -100,7 +100,7 @@
   -> Array Int (Int8,Bool)
   -> (Double -> c)
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# INLINE procBoth4InvFTup #-}
@@ -126,7 +126,7 @@
   -> Double
   -> (Double -> c)
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# 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
@@ -23,17 +23,14 @@
 #endif
 
 import Phonetic.Languages.Array.Ukrainian.Common
---import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common
 import Phonetic.Languages.UniquenessPeriodsG
---import Languages.Rhythmicity
---import Languages.Rhythmicity.Factor
 import Phonetic.Languages.Basis
 import GHC.Float (int2Double)
 import qualified Languages.Phonetic.Ukrainian.Syllable.ArrInt8 as S
 import Melodics.Ukrainian.ArrInt8
---import Data.Maybe (fromMaybe)
 import GHC.Arr (Array)
 import GHC.Int (Int8)
+import Phonetic.Languages.Emphasis
 
 #ifdef __GLASGOW_HASKELL__
 #if __GLASGOW_HASKELL__==708
@@ -64,9 +61,13 @@
   -> (Double -> c)
   -> ([[[Sound8]]] -> [[Double]])
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
- = D (\xs -> 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) $ xs in  ((int2Double . fromEnum . diverse2GLInt8 [-1,0] $ ys)*(h1 . mconcat . g . map (S.divVwls . S.reSyllableCntntsTup tup17 . S.groupSnds) . words1 $ ys))) h
+ = 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 .
+                             map (S.divVwls . S.reSyllableCntntsTup tup17 . S.groupSnds) . words1 $ ys))
+               FSL xsss -> h1 . mconcat . g $ xsss) h
 {-# INLINE procB2FGTup #-}
 
 procB2InvFGTup
@@ -91,13 +92,16 @@
   -> (Double -> c)
   -> ([[[Sound8]]] -> [[Double]])
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
- = D (\xs ->
-  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) $ xs
-      !z = diverse2GLInt8 [-1,0] 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))) h
+ = 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 .
+                             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
 {-# INLINE procB2InvFGTup #-}
 
 procB2FTup
@@ -121,7 +125,7 @@
   -> (Double -> c)
   -> ([[[Sound8]]] -> [[Double]])
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# INLINE procB2FTup #-}
@@ -148,7 +152,7 @@
   -> (Double -> c)
   -> ([[[Sound8]]] -> [[Double]])
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# INLINE procB2FFTup #-}
@@ -174,7 +178,7 @@
   -> (Double -> c)
   -> ([[[Sound8]]] -> [[Double]])
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# INLINE procB2InvFTup #-}
@@ -201,7 +205,7 @@
   -> (Double -> c)
   -> ([[[Sound8]]] -> [[Double]])
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> 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
 {-# 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
@@ -24,6 +24,7 @@
 import Phonetic.Languages.Basis
 import GHC.Float (int2Double)
 import Melodics.Ukrainian.ArrInt8
+import Phonetic.Languages.Emphasis
 
 procDiverse2ITup
   :: (Ord c) => Array Int (Int8, Bool)
@@ -43,8 +44,12 @@
   -> Array Int (Char, Bool)
   -> Array Int (Char, Bool)
   -> (Int16 -> c)
-  -> FuncRep2 String Int16 c
-procDiverse2ITup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 g = D (diverse2GLInt8 [-1,0] . convertToProperUkrainianI8WithTuples tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16) g
+  -> FuncRep2 ReadyForConstructionUkr Int16 c
+procDiverse2ITup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 g 
+  = D (\x -> case x of
+               Str xs -> diverse2GLInt8 [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 #-}
 
 procDiverse2FTup
@@ -65,6 +70,10 @@
   -> Array Int (Char, Bool)
   -> Array Int (Char, Bool)
   -> (Double -> c)
-  -> FuncRep2 String Double c
-procDiverse2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 g = D (int2Double . fromEnum . diverse2GLInt8 [-1,0] . convertToProperUkrainianI8WithTuples tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16) g
+  -> FuncRep2 ReadyForConstructionUkr Double c
+procDiverse2FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 g
+  = D (\x -> case x of
+               Str xs -> int2Double . fromEnum . diverse2GLInt8 [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
@@ -20,15 +20,24 @@
 ) where
 
 
-import Phonetic.Languages.Array.Ukrainian.Common
---import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common
+import Phonetic.Languages.Array.Ukrainian.Common hiding (procRhythm23F)
 import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2H
 import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Hprime
-import Phonetic.Languages.Basis
+import qualified Phonetic.Languages.Basis as B
 import Melodics.Ukrainian.ArrInt8
 import GHC.Arr (Array)
 import GHC.Int (Int8)
+import Phonetic.Languages.Emphasis
 
+procRhythm23F
+  :: (Ord c) => (Double -> c)
+  -> String
+  -> (String -> Coeffs2 -> ReadyForConstructionUkr -> Double)
+  -> Coeffs2
+  -> B.FuncRep2 ReadyForConstructionUkr Double c
+procRhythm23F h choice g coeffs = B.D (g choice coeffs) h
+{-# INLINE procRhythm23F #-}
+
 procRhythmicity23FTup
   :: (Ord c) => Array Int (Int8, Bool)
   -> Array Int (Int8, Bool)
@@ -51,7 +60,7 @@
   -> (Double -> c)
   -> String
   -> Coeffs2
-  -> FuncRep2 String Double c
+  -> B.FuncRep2 ReadyForConstructionUkr Double c
 procRhythmicity23FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g choice coeffs = procRhythm23F g choice (rhythmicityTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k) coeffs
 {-# INLINE procRhythmicity23FTup #-}
 
@@ -78,6 +87,7 @@
   -> [[[[Sound8]]] -> [[Double]]]
   -> String
   -> Coeffs2
-  -> FuncRep2 String Double c
-procRhythmicity23FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g syllableDurationsDs choice coeffs = D (rhythmicityHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice syllableDurationsDs coeffs) g
+  -> String
+  -> B.FuncRep2 ReadyForConstructionUkr Double c
+procRhythmicity23FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k g syllableDurationsDs choice coeffs bbs = B.D (rhythmicityHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice syllableDurationsDs coeffs bbs) g
 {-# INLINE procRhythmicity23FHTup #-}
diff --git a/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG201.hs b/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG201.hs
--- a/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG201.hs
+++ b/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG201.hs
@@ -64,6 +64,7 @@
 import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common
 import GHC.Arr (Array)
 import GHC.Int (Int8)
+import Phonetic.Languages.Emphasis
 
 #ifdef __GLASGOW_HASKELL__
 #if __GLASGOW_HASKELL__==708
@@ -92,9 +93,10 @@
   -> Array Int (Int8,Bool)
   -> ([[[Sound8]]] -> [[Double]])-- ^ A function that specifies the syllables durations, analogue of (or one of) the
   -- syllableDurationsD functions from the @ukrainian-phonetics-basics-array@ package.
-  -> String
+  -> ReadyForConstructionUkr
   -> [Double]
-rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 f xs@(_:_) = mconcat . f . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 $ xs
+rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 f (Str xs@(_:_)) = mconcat . f . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 $ xs
+rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 f (FSL xsss@(_:_)) = mconcat . f $ xsss
 rhythmicityGTup _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ = []
 {-# INLINE rhythmicityGTup #-}
 
@@ -120,7 +122,7 @@
   -> Array Int (Int8,Bool)
   -> ([[[Sound8]]]
   -> [[Double]])
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 f = rhythmicityGHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 f eval23
 {-# INLINE rhythmicity0HTup #-}
@@ -143,7 +145,7 @@
   -> Array Int (Char, Bool)
   -> Array Int (Char, Bool)
   -> Array Int (Int8,Bool)
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicity0Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 = rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsD
 {-# INLINE rhythmicity0Tup #-}
@@ -166,7 +168,7 @@
   -> Array Int (Char, Bool)
   -> Array Int (Char, Bool)
   -> Array Int (Int8,Bool)
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicity02Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 = rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsD2
 {-# INLINE rhythmicity02Tup #-}
@@ -189,7 +191,7 @@
   -> Array Int (Char, Bool)
   -> Array Int (Char, Bool)
   -> Array Int (Int8,Bool)
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicity03Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 = rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsD3
 {-# INLINE rhythmicity03Tup #-}
@@ -212,7 +214,7 @@
   -> Array Int (Char, Bool)
   -> Array Int (Char, Bool)
   -> Array Int (Int8,Bool)
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 = rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsD4
 {-# INLINE rhythmicity04Tup #-}
@@ -241,7 +243,7 @@
   -> [[Double]])
   -> Double
   -> Double
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicityKHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 f k2 k3 = rhythmicityGHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 f (eval23K k2 k3)
 {-# INLINE rhythmicityKHTup #-}
@@ -266,7 +268,7 @@
   -> Array Int (Int8,Bool)
   -> Double
   -> Double
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicityKTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k2 k3 = rhythmicityKHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsD k2 k3
 {-# INLINE rhythmicityKTup #-}
@@ -291,7 +293,7 @@
   -> Array Int (Int8,Bool)
   -> Double
   -> Double
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicityK2Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k2 k3 = rhythmicityKHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsD2 k2 k3
 {-# INLINE rhythmicityK2Tup #-}
@@ -316,7 +318,7 @@
   -> Array Int (Int8,Bool)
   -> Double
   -> Double
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicityK3Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k2 k3 = rhythmicityKHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsD3 k2 k3
 {-# INLINE rhythmicityK3Tup #-}
@@ -341,7 +343,7 @@
   -> Array Int (Int8,Bool)
   -> Double
   -> Double
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicityK4Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k2 k3 = rhythmicityKHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsD4 k2 k3
 {-# INLINE rhythmicityK4Tup #-}
@@ -369,7 +371,7 @@
   -> ([[[Sound8]]]
   -> [[Double]])
   -> Double
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicity0FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 f k = rhythmicityGHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 f (eval23F k)
 {-# INLINE rhythmicity0FHTup #-}
@@ -393,7 +395,7 @@
   -> Array Int (Char, Bool)
   -> Array Int (Int8,Bool)
   -> Double
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicity0FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k = rhythmicity0FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsD k
 {-# INLINE rhythmicity0FTup #-}
@@ -417,7 +419,7 @@
   -> Array Int (Char, Bool)
   -> Array Int (Int8,Bool)
   -> Double
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicity02FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k = rhythmicity0FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsD2 k
 {-# INLINE rhythmicity02FTup #-}
@@ -441,7 +443,7 @@
   -> Array Int (Char, Bool)
   -> Array Int (Int8,Bool)
   -> Double
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicity03FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k = rhythmicity0FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsD3 k
 {-# INLINE rhythmicity03FTup #-}
@@ -465,7 +467,7 @@
   -> Array Int (Char, Bool)
   -> Array Int (Int8,Bool)
   -> Double
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicity04FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k = rhythmicity0FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsD4 k
 {-# INLINE rhythmicity04FTup #-}
@@ -495,7 +497,7 @@
   -> Double
   -> Double
   -> Double
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicityKFHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 f k k2 k3 = rhythmicityGHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 f (eval23KF k k2 k3)
 {-# INLINE rhythmicityKFHTup #-}
@@ -521,7 +523,7 @@
   -> Double
   -> Double
   -> Double
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicityKFTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k k2 k3 = rhythmicityKFHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsD k k2 k3
 {-# INLINE rhythmicityKFTup #-}
@@ -547,7 +549,7 @@
   -> Double
   -> Double
   -> Double
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicityKF2Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k k2 k3 = rhythmicityKFHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsD2 k k2 k3
 {-# INLINE rhythmicityKF2Tup #-}
@@ -573,7 +575,7 @@
   -> Double
   -> Double
   -> Double
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicityKF3Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k k2 k3 = rhythmicityKFHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsD3 k k2 k3
 {-# INLINE rhythmicityKF3Tup #-}
@@ -599,7 +601,7 @@
   -> Double
   -> Double
   -> Double
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
 rhythmicityKF4Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k k2 k3 = rhythmicityKFHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 syllableDurationsD4 k k2 k3
 {-# INLINE rhythmicityKF4Tup #-}
diff --git a/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2Common.hs b/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2Common.hs
--- a/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2Common.hs
+++ b/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2Common.hs
@@ -27,6 +27,7 @@
 import Languages.Phonetic.Ukrainian.Syllable.ArrInt8
 import GHC.Arr
 import GHC.Int
+import Phonetic.Languages.Emphasis
 
 #ifdef __GLASGOW_HASKELL__
 #if __GLASGOW_HASKELL__==708
@@ -55,9 +56,10 @@
  -> Array Int (Int8,Bool)
  -> ([[[Sound8]]] -> [[Double]])
  -> ([[Double]] -> Double)
- -> String
+ -> ReadyForConstructionUkr
  -> Double
-rhythmicityGHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 f g xs@(_:_)
+rhythmicityGHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 f g (Str xs@(_:_))
  = g . f . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 $ xs
+rhythmicityGHTup _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f g (FSL xsss@(_:_)) = g . f $ xsss 
 rhythmicityGHTup _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ = 0.0
 {-# INLINE rhythmicityGHTup #-}
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
@@ -36,10 +36,10 @@
 import Text.Read (readMaybe)
 import Rhythmicity.TwoFourth
 import Rhythmicity.PolyRhythm
---import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common
 import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201
 import GHC.Arr (Array)
 import GHC.Int (Int8)
+import Phonetic.Languages.Emphasis
 
 #ifdef __GLASGOW_HASKELL__
 #if __GLASGOW_HASKELL__==708
@@ -78,52 +78,53 @@
   -> Double
   -> String
   -> Coeffs2
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
-rhythmicityTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice CF0 = if
+rhythmicityTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice CF0 tttt@(Str tttts)= if
  | take 1 choice `elem` ["c","M","N"] || (take 1 choice >= "A" && take 1 choice <= "F") -> let just_probe = readRhythmicity choice in
            case just_probe of
-             Just (P1 ch rh n) -> rhythmicityABC 1.0 2.0 0.125 ch rh . mconcat . (helperF4 n) . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
-             Just (P2 ch rh r n) -> case take 1 choice of
-                   "A" -> rhythmicityPolyWeightedLEF2 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
-                   "D" -> rhythmicityPolyWeightedLF2 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
-                   "E" -> rhythmicityPolyWeightedLEF3 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
-                   "F" -> rhythmicityPolyWeightedLF3 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
-                   "B" -> rhythmicityPolyWeightedEF2 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
-                   "C" -> rhythmicityPolyWeightedF2 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
-                   "M" -> rhythmicityPolyWeightedEF3 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
-                   "N" -> rhythmicityPolyWeightedF3 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
-                   "c" -> rhythmicityPoly 1.0 r ch rh . mconcat . (helperF4 n) . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
-             _ -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
- | choice == "0y" -> rhythmicity0Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
- | choice == "02y" -> rhythmicity02Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
- | choice == "03y" -> rhythmicity03Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
- | choice == "0z" -> rhythmicity0FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k
- | choice == "02z" -> rhythmicity02FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  k
- | choice == "03z" -> rhythmicity03FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k
- | choice == "04z" -> rhythmicity04FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k
- | take 1 choice == "0" -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+             Just (P1 ch rh n) -> rhythmicityABC 1.0 2.0 0.125 ch rh . mconcat . -- the latter one is to be interchanged with weights2SyllableDurationsD
+               (helperF4 n) . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 $ tttts
+             Just (P2 ch rh r n) -> (case take 1 choice of
+                   "A" -> rhythmicityPolyWeightedLEF2 1.0 r ch rh
+                   "D" -> rhythmicityPolyWeightedLF2 1.0 r ch rh
+                   "E" -> rhythmicityPolyWeightedLEF3 1.0 r ch rh
+                   "F" -> rhythmicityPolyWeightedLF3 1.0 r ch rh
+                   "B" -> rhythmicityPolyWeightedEF2 1.0 r ch rh
+                   "C" -> rhythmicityPolyWeightedF2 1.0 r ch rh
+                   "M" -> rhythmicityPolyWeightedEF3 1.0 r ch rh
+                   "N" -> rhythmicityPolyWeightedF3 1.0 r ch rh
+                   "c" -> rhythmicityPoly 1.0 r ch rh) . mconcat . (helperF4 n) . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 $ tttts
+             _ -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 tttt
+ | choice == "0y" -> rhythmicity0Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 tttt
+ | choice == "02y" -> rhythmicity02Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 tttt
+ | choice == "03y" -> rhythmicity03Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 tttt
+ | choice == "0z" -> rhythmicity0FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k tttt
+ | choice == "02z" -> rhythmicity02FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  k tttt
+ | choice == "03z" -> rhythmicity03FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k tttt
+ | choice == "04z" -> rhythmicity04FTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k tttt
+ | take 1 choice == "0" -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 tttt
  | take 1 choice == "w" -> if
           | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
              case take 2 choice of
-              "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)
-              "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)
-              "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)
-              "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)
-              _ -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
-          | otherwise -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+              "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2) tttts
+              "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1) tttts
+              "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1) tttts
+              "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2) tttts
+              _ -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 tttt
+          | otherwise -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 tttt
  | take 1 choice == "x" -> if
           | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
              case take 2 choice of
-              "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)
-              "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)
-              "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)
-              "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)
-              _ -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
-          | otherwise -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+              "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2) tttts
+              "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1) tttts
+              "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1) tttts
+              "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2) tttts
+              _ -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 tttt
+          | otherwise -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 tttt
  | otherwise -> if
     | (take 1 choice == "b" || ((take 1 choice >= "d" && take 1 choice <= "v") || (take 1 choice >= "I" && take 1 choice <= "Z"))) && (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
-        case take 1 choice of
+        (case take 1 choice of
           "b" -> g rhythmicityPolyWeightedLEF3 5 1
           "d" -> g rhythmicityPolyWeightedLEF30 5 1
           "e" -> g rhythmicityPolyWeightedLEF3 6 2
@@ -159,8 +160,8 @@
           "u" -> g rhythmicityPoly 5 1
           "v" -> g rhythmicityPoly0 5 1
           "s" -> g rhythmicityPoly 6 2
-          "t" -> g rhythmicityPoly0 6 2
-    | otherwise -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+          "t" -> g rhythmicityPoly0 6 2) tttts
+    | otherwise -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 tttt
         where h1 f ts xs m n = f 1.0 4 (PolyCh xs m) (PolyRhythm [1,2,1,n]) . mconcat . (case readMaybe ts::Maybe Int of { Just 1 -> syllableDurationsD ; Just 2 -> syllableDurationsD2 ; Just 3 -> syllableDurationsD3 ; Just 4 -> syllableDurationsD4 }) . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
               h2 f ts xs m n = f 1.0 4 (PolyCh xs m) (PolyRhythm [2,1,1,n]) . mconcat . (case readMaybe ts::Maybe Int of { Just 1 -> syllableDurationsD ; Just 2 -> syllableDurationsD2 ; Just 3 -> syllableDurationsD3 ; Just 4 -> syllableDurationsD4 }) . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
               g f m n
@@ -172,7 +173,7 @@
                 | drop 1 choice `elem` ["51","52","53","54"] = h2 f (drop 2 . take 3 $ choice) [True,True,False] m n
                 | drop 1 choice `elem` ["61","62","63","64"] = h2 f (drop 2 . take 3 $ choice) [True,False,True] m n
                 | drop 1 choice `elem` ["71","72","73","74"] = h2 f (drop 2 . take 3 $ choice) [True,False,False] m n
-                | otherwise = rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+                | otherwise = \_ -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 tttt
               w1F f ch rh = rhythmicityABC 1.0 2.0 0.125 ch rh . mconcat . f . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
               wwF2 g2 xs = let (Just n) = readMaybe xs::Maybe Int in
                       case n `rem` 4 of
@@ -188,9 +189,9 @@
               {-# INLINE x1F #-}
               {-# INLINE xxF #-}
               {-# INLINE wwF #-}
-rhythmicityTup  tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice (CF2 x y) =
+rhythmicityTup  tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice (CF2 x y) tttt@(Str tttts) =
  case take 1 choice of
-  "0" -> case choice of
+  "0" -> (case choice of
            "0y" -> rhythmicityKTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (fromMaybe 1.0 x) (fromMaybe 1.0 y)
            "02y" -> rhythmicityK2Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 (fromMaybe 1.0 x) (fromMaybe 1.0 y)
            "03y" -> rhythmicityK3Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 (fromMaybe 1.0 x) (fromMaybe 1.0 y)
@@ -198,16 +199,16 @@
            "02z" -> rhythmicityKF2Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k (fromMaybe 1.0 x) (fromMaybe 1.0 y)
            "03z" -> rhythmicityKF3Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k (fromMaybe 1.0 x) (fromMaybe 1.0 y)
            "04z" -> rhythmicityKF4Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k (fromMaybe 1.0 x) (fromMaybe 1.0 y)
-           _ -> rhythmicityK4Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 (fromMaybe 1.0 x) (fromMaybe 1.0 y)
+           _ -> rhythmicityK4Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 (fromMaybe 1.0 x) (fromMaybe 1.0 y)) tttt
   "w" -> if
           | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
              case take 2 choice of
-              "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)
-              "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)
-              "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)
-              "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)
-              _ -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
-          | otherwise -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+              "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2) tttts
+              "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1) tttts
+              "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1) tttts
+              "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2) tttts
+              _ -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 tttt
+          | otherwise -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 tttt
               where w1F f ch rh = rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat . f . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
                     wwF xs = let (Just n) = readMaybe xs::Maybe Int in
                       case n `rem` 4 of
@@ -220,12 +221,12 @@
   "x" -> if
           | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
              case take 2 choice of
-              "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)
-              "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)
-              "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)
-              "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)
-              _ -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
-          | otherwise -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+              "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2) tttts
+              "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1) tttts
+              "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1) tttts
+              "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2) tttts
+              _ -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 tttt
+          | otherwise -> rhythmicity04Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 tttt
               where x1F f ch rh = rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat . f . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
                     xxF xs = let (Just n) = readMaybe xs::Maybe Int in
                       case n `rem` 4 of
@@ -236,5 +237,6 @@
                     {-# INLINE x1F #-}
                     {-# INLINE xxF #-}
   _ -> if
-     | ((take 1 choice >= "b" && take 1 choice <= "v") || (take 1 choice >= "A" && take 1 choice <= "Z" && take 1 choice `notElem` ["G","H"])) -> rhythmicityTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  k choice CF0
-     | otherwise -> rhythmicityK4Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (fromMaybe 1.0 x) (fromMaybe 1.0 y)
+     | ((take 1 choice >= "b" && take 1 choice <= "v") || (take 1 choice >= "A" && take 1 choice <= "Z" && take 1 choice `notElem` ["G","H"])) -> rhythmicityTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  k choice CF0 tttt
+     | otherwise -> rhythmicityK4Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (fromMaybe 1.0 x) (fromMaybe 1.0 y) tttt
+rhythmicityTup  tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice _ _ = -1.0
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
@@ -18,6 +18,7 @@
   -- * Extended
   rhythmicityHTup
   , rhythmicityH'Tup
+  , rhythmicitya'Tup
 ) where
 
 #ifdef __GLASGOW_HASKELL__
@@ -35,11 +36,11 @@
 import Text.Read (readMaybe)
 import Rhythmicity.TwoFourth
 import Rhythmicity.PolyRhythm
---import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2Common
 import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG201
 import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2H
 import GHC.Arr (Array)
 import GHC.Int (Int8)
+import Phonetic.Languages.Emphasis
 
 #ifdef __GLASGOW_HASKELL__
 #if __GLASGOW_HASKELL__==708
@@ -54,6 +55,12 @@
   | (n `rem` length xs) == 0 = head xs
   | otherwise = xs !! ((n `rem` length xs) - 1)
 
+helperHF1 :: Int -> [[[[Sound8]]] -> [[Double]]] -> [[[Sound8]]] -> [[Double]]
+helperHF1 n xs
+  | null xs = \_ -> []
+  | (n `rem` length xs) == 0 = head xs
+  | otherwise = xs !! ((n `rem` length xs) - 1)  
+
 -----------------------------------------------------------
 
 {-|
@@ -81,8 +88,10 @@
   -> [[[[Sound8]]] -> [[Double]]]
   -> Coeffs2
   -> String
+  -> ReadyForConstructionUkr
   -> Double
-rhythmicityHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice syllableDurationsDs coeffs
+rhythmicityHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice syllableDurationsDs coeffs bbs
+  | any (== 'a') choice = rhythmicitya'Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k (filter (\c -> c /='a' && c /=  'H') choice) syllableDurationsDs coeffs bbs
   | take 1 choice == "H" = rhythmicityH'Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k (drop 1 choice) syllableDurationsDs coeffs
   | otherwise = rhythmicityTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice coeffs
 
@@ -108,57 +117,55 @@
   -> String
   -> [[[[Sound8]]] -> [[Double]]]
   -> Coeffs2
-  -> String
+  -> ReadyForConstructionUkr
   -> Double
-rhythmicityH'Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice syllableDurationsDs CF0 = if
+rhythmicityH'Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice syllableDurationsDs CF0 tttt@(Str tttts) = if
  | take 1 choice `elem` ["c","M","N"] || (take 1 choice >= "A" && take 1 choice <= "F") -> let just_probe = readRhythmicity choice in
-           case just_probe of
+           (case just_probe of
              Just (P1 ch rh n) -> rhythmicityABC 1.0 2.0 0.125 ch rh . rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 (helperHF4 n syllableDurationsDs)
-             Just (P2 ch rh r n) -> case take 1 choice of
-                   "A" -> rhythmicityPolyWeightedLEF2 1.0 r ch rh . rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 n syllableDurationsDs)
-                   "D" -> rhythmicityPolyWeightedLF2 1.0 r ch rh . rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 n syllableDurationsDs)
-                   "E" -> rhythmicityPolyWeightedLEF3 1.0 r ch rh . rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 n syllableDurationsDs)
-                   "F" -> rhythmicityPolyWeightedLF3 1.0 r ch rh . rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 n syllableDurationsDs)
-                   "B" -> rhythmicityPolyWeightedEF2 1.0 r ch rh . rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 n syllableDurationsDs)
-                   "C" -> rhythmicityPolyWeightedF2 1.0 r ch rh . rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 n syllableDurationsDs)
-                   "M" -> rhythmicityPolyWeightedEF3 1.0 r ch rh . rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 n syllableDurationsDs)
-                   "N" -> rhythmicityPolyWeightedF3 1.0 r ch rh . rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 n syllableDurationsDs)
-                   "c" -> rhythmicityPoly 1.0 r ch rh . rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 n syllableDurationsDs)
-             _ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs)
- | choice == "0y" -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs)
+             Just (P2 ch rh r n) -> (case take 1 choice of
+                   "A" -> rhythmicityPolyWeightedLEF2 1.0 r ch rh
+                   "D" -> rhythmicityPolyWeightedLF2 1.0 r ch rh
+                   "E" -> rhythmicityPolyWeightedLEF3 1.0 r ch rh
+                   "F" -> rhythmicityPolyWeightedLF3 1.0 r ch rh
+                   "B" -> rhythmicityPolyWeightedEF2 1.0 r ch rh
+                   "C" -> rhythmicityPolyWeightedF2 1.0 r ch rh
+                   "M" -> rhythmicityPolyWeightedEF3 1.0 r ch rh
+                   "N" -> rhythmicityPolyWeightedF3 1.0 r ch rh
+                   "c" -> rhythmicityPoly 1.0 r ch rh) . rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 n syllableDurationsDs)
+             _ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs)) tttt
+ | choice == "0y" -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs) tttt
  | take 1 choice == "0" && drop 2 (take 3 choice) == "y" ->
     let n2 = readMaybe (drop 1 . take 2 $ choice)::Maybe Int in
-      case n2 of
-        Just n3 -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 n3 syllableDurationsDs)
-        Nothing -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs)
- | choice == "0z" -> rhythmicity0FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs) k
+      rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+        (helperHF4 (case n2 of { Just n3 -> n3; Nothing -> 1}) syllableDurationsDs) tttt
+ | choice == "0z" -> rhythmicity0FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs) k tttt
  | take 1 choice == "0" && drop 2 (take 3 choice) == "z" ->
     let n2 = readMaybe (drop 1 . take 2 $ choice)::Maybe Int in
-      case n2 of
-        Just n3 -> rhythmicity0FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 n3 syllableDurationsDs) k
-        Nothing -> rhythmicity0FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs) k
- | take 1 choice == "0" -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs)
+      rhythmicity0FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+          (helperHF4 (case n2 of { Just n3 -> n3; Nothing -> 1}) syllableDurationsDs) k tttt
+ | take 1 choice == "0" -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs) tttt
  | take 1 choice == "w" -> if
           | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
              case take 2 choice of
-              "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)
-              "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)
-              "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)
-              "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)
-              _ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs)
-          | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs)
+              "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2) tttts
+              "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1) tttts
+              "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1) tttts
+              "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2) tttts
+              _ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs) tttt
+          | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs) tttt
  | take 1 choice == "x" -> if
           | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
              case take 2 choice of
-              "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)
-              "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)
-              "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)
-              "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)
-              _ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs)
-          | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs)
+              "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2) tttts
+              "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1) tttts
+              "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1) tttts
+              "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2) tttts
+              _ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs) tttt
+          | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs) tttt
  | otherwise -> if
     | (take 1 choice == "b" || ((take 1 choice >= "d" && take 1 choice <= "v") || (take 1 choice >= "I" && take 1 choice <= "Z"))) && (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "9" ->
-        case take 1 choice of
+        (case take 1 choice of
           "b" -> g rhythmicityPolyWeightedLEF3 5 1
           "d" -> g rhythmicityPolyWeightedLEF30 5 1
           "e" -> g rhythmicityPolyWeightedLEF3 6 2
@@ -194,12 +201,12 @@
           "u" -> g rhythmicityPoly 5 1
           "v" -> g rhythmicityPoly0 5 1
           "s" -> g rhythmicityPoly 6 2
-          "t" -> g rhythmicityPoly0 6 2
+          "t" -> g rhythmicityPoly0 6 2) tttts
     | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
        (let ts = drop 2 . take 3 $ choice in
           case ts of { [] -> syllableDurationsD4 ; ks ->
             let q = readMaybe ks::Maybe Int in
-              case q of {Just q' -> helperHF4 q' syllableDurationsDs; ~Nothing -> syllableDurationsD4 }})
+              case q of {Just q' -> helperHF4 q' syllableDurationsDs; ~Nothing -> syllableDurationsD4 }}) tttt
         where h1 f ts xs m n = f 1.0 4 (PolyCh xs m) (PolyRhythm [1,2,1,n]) . mconcat .
                   (case ts of { [] -> syllableDurationsD4 ; ks -> let q = readMaybe ks::Maybe Int in
                       case q of {Just q' -> helperHF4 q' syllableDurationsDs; ~Nothing -> syllableDurationsD4 }}) .
@@ -217,7 +224,7 @@
                 | drop 1 (take 2 choice) == "5" = h2 f (drop 2 . take 3 $ choice) [True,True,False] m n
                 | drop 1 (take 2 choice) == "6" = h2 f (drop 2 . take 3 $ choice) [True,False,True] m n
                 | drop 1 (take 2 choice) == "7" = h2 f (drop 2 . take 3 $ choice) [True,False,False] m n
-                | otherwise = rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 n syllableDurationsDs)
+                | otherwise = \_ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 n syllableDurationsDs) tttt
               w1F f ch rh = rhythmicityABC 1.0 2.0 0.125 ch rh . mconcat . f . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
               wwF2 g2 xs =
                 let n1 = readMaybe xs::Maybe Int in
@@ -232,26 +239,22 @@
               {-# INLINE x1F #-}
               {-# INLINE xxF #-}
               {-# INLINE wwF #-}
-rhythmicityH'Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice syllableDurationsDs (CF2 x y) =
+rhythmicityH'Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice syllableDurationsDs (CF2 x y) tttt@(Str tttts) =
  case take 1 choice of
-  "0" -> case choice of
-           "0y" -> rhythmicityKHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs) (fromMaybe 1.0 x) (fromMaybe 1.0 y)
-           "02y" -> rhythmicityKHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 2 syllableDurationsDs) (fromMaybe 1.0 x) (fromMaybe 1.0 y)
-           "03y" -> rhythmicityKHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 3 syllableDurationsDs) (fromMaybe 1.0 x) (fromMaybe 1.0 y)
-           "0z" -> rhythmicityKFHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs) k (fromMaybe 1.0 x) (fromMaybe 1.0 y)
-           "02z" -> rhythmicityKFHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 2 syllableDurationsDs) k (fromMaybe 1.0 x) (fromMaybe 1.0 y)
-           "03z" -> rhythmicityKFHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 3 syllableDurationsDs) k (fromMaybe 1.0 x) (fromMaybe 1.0 y)
-           "04z" -> rhythmicityKFHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 4 syllableDurationsDs) k (fromMaybe 1.0 x) (fromMaybe 1.0 y)
-           _ -> rhythmicityKHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs) (fromMaybe 1.0 x) (fromMaybe 1.0 y)
+  "0" -> if choice `elem` ["0z","02z","03z","04z"] then rhythmicityKFHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13
+           tup14 tup15 tup16 tup17 (helperHF4 (case last choice of {'2' -> 2; '3' -> 3; '4' -> 4; ~rrrrr -> 1}) syllableDurationsDs) k
+             (fromMaybe 1.0 x) (fromMaybe 1.0 y) tttt
+          else rhythmicityKHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+            (helperHF4 (case last choice of {'2' -> 2; '3' -> 3; '4' -> 4; ~rrrrr -> 1}) syllableDurationsDs) (fromMaybe 1.0 x) (fromMaybe 1.0 y) tttt
   "w" -> if
           | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
              case take 2 choice of
-              "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)
-              "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)
-              "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)
-              "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)
-              _ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs)
-          | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs)
+              "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2) tttts
+              "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1) tttts
+              "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1) tttts
+              "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2) tttts
+              _ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs) tttt
+          | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs) tttt
               where w1F f ch rh = rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat . f . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
                     wwF xs =
                       let n1 = readMaybe xs::Maybe Int in
@@ -263,12 +266,12 @@
   "x" -> if
           | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
              case take 2 choice of
-              "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)
-              "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)
-              "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)
-              "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)
-              _ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs)
-          | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs)
+              "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2) tttts
+              "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1) tttts
+              "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1) tttts
+              "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2) tttts
+              _ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs) tttt
+          | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF4 1 syllableDurationsDs) tttt
               where x1F f ch rh = rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat . f . createSyllablesUkrSTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
                     xxF xs =
                       let n1 = readMaybe xs::Maybe Int in
@@ -278,10 +281,373 @@
                     {-# INLINE x1F #-}
                     {-# INLINE xxF #-}
   _ -> if
-     | ((take 1 choice >= "b" && take 1 choice <= "v") || (take 1 choice >= "A" && take 1 choice <= "Z" && take 1 choice `notElem` ["G","H"])) -> rhythmicityH'Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice syllableDurationsDs CF0
-     | otherwise -> rhythmicityKHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+     | ((take 1 choice >= "b" && take 1 choice <= "v") || (take 1 choice >= "A" && take 1 choice <= "Z" && take 1 choice `notElem` ["G","H"])) -> rhythmicityH'Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice syllableDurationsDs CF0 tttt
+     | otherwise -> rhythmicityKHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 
         (let ts = drop 2 . take 3 $ choice in
           case ts of { [] -> syllableDurationsD4 ; ks ->
             let q = readMaybe ks::Maybe Int in
               case q of {Just q' -> helperHF4 q' syllableDurationsDs; ~Nothing -> syllableDurationsD4 }})
-                (fromMaybe 1.0 x) (fromMaybe 1.0 y)
+                (fromMaybe 1.0 x) (fromMaybe 1.0 y) tttt
+rhythmicityH'Tup _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ = -3.0
+
+rhythmicitya'Tup
+  :: Array Int (Int8, Bool)
+  -> Array Int (Int8, Bool)
+  -> Array Int (Int8, Bool)
+  -> Array Int (Int8, Bool)
+  -> Array Int ([Int8], Bool)
+  -> Array Int ([Int8], Int8)
+  -> Array Int (Int8, FlowSound -> Sound8)
+  -> Array Int (Int8, Bool)
+  -> Array Int ([Int8], Bool)
+  -> Array Int ([Int8], Bool)
+  -> Array Int ([Int8], Bool)
+  -> Array Int (Int8, [Int8])
+  -> Array Int (Char,Int8)
+  -> Array Int (Int8,[Int8])
+  -> Array Int (Char, Bool)
+  -> Array Int (Char, Bool)
+  -> Array Int (Int8,Bool)
+  -> Double
+  -> String
+  -> [[[[Sound8]]] -> [[Double]]]
+  -> Coeffs2
+  -> String
+  -> ReadyForConstructionUkr
+  -> Double
+rhythmicitya'Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice syllableDurationsDs CF0 bbs tttt@(FSL tttts)= if
+ | take 1 choice `elem` ["c","M","N"] || (take 1 choice >= "A" && take 1 choice <= "F") -> let just_probe = readRhythmicity choice in
+           (case just_probe of
+             Just (P1 ch rh n) -> rhythmicityABC 1.0 2.0 0.125 ch rh . rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 (helperHF1 n syllableDurationsDs)
+             Just (P2 ch rh r n) -> (case take 1 choice of
+                   "A" -> rhythmicityPolyWeightedLEF2 1.0 r ch rh
+                   "D" -> rhythmicityPolyWeightedLF2 1.0 r ch rh
+                   "E" -> rhythmicityPolyWeightedLEF3 1.0 r ch rh
+                   "F" -> rhythmicityPolyWeightedLF3 1.0 r ch rh
+                   "B" -> rhythmicityPolyWeightedEF2 1.0 r ch rh
+                   "C" -> rhythmicityPolyWeightedF2 1.0 r ch rh
+                   "M" -> rhythmicityPolyWeightedEF3 1.0 r ch rh
+                   "N" -> rhythmicityPolyWeightedF3 1.0 r ch rh
+                   "c" -> rhythmicityPoly 1.0 r ch rh) . rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 n syllableDurationsDs)
+             _ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs))  tttt
+ | choice == "0y" -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt
+ | take 1 choice == "0" && drop 2 (take 3 choice) == "y" ->
+    let n2 = readMaybe (drop 1 . take 2 $ choice)::Maybe Int in
+      rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+          (helperHF1 (case n2 of {Just n3 -> n3; Nothing -> 1}) syllableDurationsDs) tttt
+ | choice == "0z" -> rhythmicity0FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) k tttt
+ | take 1 choice == "0" && drop 2 (take 3 choice) == "z" ->
+    let n2 = readMaybe (drop 1 . take 2 $ choice)::Maybe Int in
+      rhythmicity0FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+          (helperHF1 (case n2 of {Just n3 -> n3; Nothing -> 1}) syllableDurationsDs) k tttt
+ | take 1 choice == "0" -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt
+ | take 1 choice == "w" -> if
+          | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
+             (case take 2 choice of
+              "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2) 
+              "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1) 
+              "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1) 
+              "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2) 
+              _ -> \_ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt) tttts
+          | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt
+ | take 1 choice == "x" -> if
+          | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
+             (case take 2 choice of
+              "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)
+              "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)
+              "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)
+              "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)
+              _ -> \_ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt) tttts
+          | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt
+ | otherwise -> if
+    | (take 1 choice == "b" || ((take 1 choice >= "d" && take 1 choice <= "v") || (take 1 choice >= "I" && take 1 choice <= "Z"))) && (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "9" ->
+        (case take 1 choice of
+          "b" -> g rhythmicityPolyWeightedLEF3 5 1
+          "d" -> g rhythmicityPolyWeightedLEF30 5 1
+          "e" -> g rhythmicityPolyWeightedLEF3 6 2
+          "f" -> g rhythmicityPolyWeightedLEF30 6 2
+          "g" -> g rhythmicityPolyWeightedLEF2 5 1
+          "h" -> g rhythmicityPolyWeightedLEF20 5 1
+          "i" -> g rhythmicityPolyWeightedLEF2 6 2
+          "j" -> g rhythmicityPolyWeightedLEF20 6 2
+          "k" -> g rhythmicityPolyWeightedLF3 5 1
+          "l" -> g rhythmicityPolyWeightedLF30 5 1
+          "m" -> g rhythmicityPolyWeightedLF3 6 2
+          "n" -> g rhythmicityPolyWeightedLF30 6 2
+          "o" -> g rhythmicityPolyWeightedLF2 5 1
+          "p" -> g rhythmicityPolyWeightedLF20 5 1
+          "q" -> g rhythmicityPolyWeightedLF2 6 2
+          "r" -> g rhythmicityPolyWeightedLF20 6 2
+          "I" -> g rhythmicityPolyWeightedEF3 5 1
+          "J" -> g rhythmicityPolyWeightedEF30 5 1
+          "K" -> g rhythmicityPolyWeightedEF3 6 2
+          "L" -> g rhythmicityPolyWeightedEF30 6 2
+          "O" -> g rhythmicityPolyWeightedEF2 5 1
+          "P" -> g rhythmicityPolyWeightedEF20 5 1
+          "Q" -> g rhythmicityPolyWeightedEF2 6 2
+          "R" -> g rhythmicityPolyWeightedEF20 6 2
+          "W" -> g rhythmicityPolyWeightedF3 5 1
+          "X" -> g rhythmicityPolyWeightedF30 5 1
+          "Y" -> g rhythmicityPolyWeightedF3 6 2
+          "Z" -> g rhythmicityPolyWeightedF30 6 2
+          "U" -> g rhythmicityPolyWeightedF2 5 1
+          "V" -> g rhythmicityPolyWeightedF20 5 1
+          "S" -> g rhythmicityPolyWeightedF2 6 2
+          "T" -> g rhythmicityPolyWeightedF20 6 2
+          "u" -> g rhythmicityPoly 5 1
+          "v" -> g rhythmicityPoly0 5 1
+          "s" -> g rhythmicityPoly 6 2
+          "t" -> g rhythmicityPoly0 6 2) tttts
+    | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+       (let ts = drop 2 . take 3 $ choice in
+          case ts of { [] -> (\_ -> [[-1.0]]) ; ks ->
+            let q = readMaybe ks::Maybe Int in
+              case q of {Just q' -> helperHF1 q' syllableDurationsDs; ~Nothing -> (\_ -> [[-1.0]]) }}) tttt
+        where h1 f ts xs m n = f 1.0 4 (PolyCh xs m) (PolyRhythm [1,2,1,n]) . mconcat .
+                  (case ts of { [] -> (\_ -> [[-1.0]]) ; ks -> let q = readMaybe ks::Maybe Int in
+                      case q of {Just q' -> helperHF1 q' syllableDurationsDs; ~Nothing -> (\_ -> [[-1.0]]) }})
+              h2 f ts xs m n = f 1.0 4 (PolyCh xs m) (PolyRhythm [2,1,1,n]) . mconcat .
+                  (case ts of { [] -> (\_ -> [[-1.0]]) ; ks -> let q = readMaybe ks::Maybe Int in
+                      case q of {Just q' -> helperHF1 q' syllableDurationsDs; ~Nothing -> (\_ -> [[-1.0]]) }})
+              g f m n
+                | drop 1 (take 2 choice) == "0" = h1 f (drop 2 . take 3 $ choice) [True,True,True] m n
+                | drop 1 (take 2 choice) == "1" = h1 f (drop 2 . take 3 $ choice) [True,True,False] m n
+                | drop 1 (take 2 choice) == "2" = h1 f (drop 2 . take 3 $ choice) [True,False,True] m n
+                | drop 1 (take 2 choice) == "3" = h1 f (drop 2 . take 3 $ choice) [True,False,False] m n
+                | drop 1 (take 2 choice) == "4" = h2 f (drop 2 . take 3 $ choice) [True,True,True] m n
+                | drop 1 (take 2 choice) == "5" = h2 f (drop 2 . take 3 $ choice) [True,True,False] m n
+                | drop 1 (take 2 choice) == "6" = h2 f (drop 2 . take 3 $ choice) [True,False,True] m n
+                | drop 1 (take 2 choice) == "7" = h2 f (drop 2 . take 3 $ choice) [True,False,False] m n
+                | otherwise = \_ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 n syllableDurationsDs) tttt
+              w1F f ch rh = rhythmicityABC 1.0 2.0 0.125 ch rh . mconcat . f . (\_ -> tttts)
+              wwF2 g2 xs =
+                let n1 = readMaybe xs::Maybe Int in
+                   case n1 of
+                     Just n2 -> g2 (helperHF1 n2 syllableDurationsDs)
+                     Nothing -> g2 (\_ -> [[-1.0]])
+              x1F f ch rh = rhythmicityABC0 1.0 2.0 0.125 ch rh . mconcat . f . (\_ -> tttts)
+              xxF = wwF2 x1F
+              wwF = wwF2 w1F
+              {-# INLINE w1F #-}
+              {-# INLINE wwF2 #-}
+              {-# INLINE x1F #-}
+              {-# INLINE xxF #-}
+              {-# INLINE wwF #-}
+rhythmicitya'Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice syllableDurationsDs (CF2 x y) bbs tttt@(FSL tttts) =
+ case take 1 choice of
+  "0" -> if choice `elem` ["0z","02z","03z","04z"] then rhythmicityKFHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14
+           tup15 tup16 tup17 (helperHF1 (case last choice of {'2' -> 2; '3' -> 3; '4' -> 4; ~rrrrr -> 1}) syllableDurationsDs) k (fromMaybe 1.0 x)
+             (fromMaybe 1.0 y) tttt
+         else rhythmicityKHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+           (helperHF1 (case last choice of {'2' -> 2; '3' -> 3; '4' -> 4; ~rrrrr -> 1}) syllableDurationsDs) (fromMaybe 1.0 x) (fromMaybe 1.0 y) tttt
+  "w" -> if
+          | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
+             (case take 2 choice of
+              "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2) 
+              "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1) 
+              "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1) 
+              "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2) 
+              _ -> \_ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs)  tttt) tttts
+          | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt
+              where w1F f ch rh = rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat . f . (\_ -> tttts)
+                    wwF xs =
+                      let n1 = readMaybe xs::Maybe Int in
+                        case n1 of
+                         Just n2 -> w1F (helperHF1 n2 syllableDurationsDs)
+                         Nothing -> w1F (\_ -> [[-1.0]])
+                    {-# INLINE w1F #-}
+                    {-# INLINE wwF #-}
+  "x" -> if
+          | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
+             (case take 2 choice of
+              "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2) 
+              "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1) 
+              "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1) 
+              "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2) 
+              _ -> \_ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt) tttts
+          | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt
+              where x1F f ch rh = rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat . f . (\_ -> tttts)
+                    xxF xs =
+                      let n1 = readMaybe xs::Maybe Int in
+                        case n1 of
+                         Just n2 -> x1F (helperHF1 n2 syllableDurationsDs)
+                         Nothing -> x1F (\_ -> [[-1.0]])
+                    {-# INLINE x1F #-}
+                    {-# INLINE xxF #-}
+  _ -> if
+     | ((take 1 choice >= "b" && take 1 choice <= "v") || (take 1 choice >= "A" && take 1 choice <= "Z" && take 1 choice `notElem` ["G","H"])) -> rhythmicityH'Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice syllableDurationsDs CF0 tttt
+     | otherwise -> rhythmicityKHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+        (let ts = drop 2 . take 3 $ choice in
+          case ts of { [] -> (\_ -> [[-1.0]]) ; ks ->
+            let q = readMaybe ks::Maybe Int in
+              case q of {Just q' -> helperHF1 q' syllableDurationsDs; ~Nothing -> (\_ -> [[-1.0]]) }})
+                (fromMaybe 1.0 x) (fromMaybe 1.0 y) tttt
+rhythmicitya'Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice syllableDurationsDs CF0 bbs tttt@(Str tttts@(_:_))= if
+ | take 1 choice `elem` ["c","M","N"] || (take 1 choice >= "A" && take 1 choice <= "F") -> let just_probe = readRhythmicity choice in
+           (case just_probe of
+             Just (P1 ch rh n) -> rhythmicityABC 1.0 2.0 0.125 ch rh . rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 (helperHF1 n syllableDurationsDs)
+             Just (P2 ch rh r n) -> (case take 1 choice of
+                   "A" -> rhythmicityPolyWeightedLEF2 1.0 r ch rh
+                   "D" -> rhythmicityPolyWeightedLF2 1.0 r ch rh
+                   "E" -> rhythmicityPolyWeightedLEF3 1.0 r ch rh
+                   "F" -> rhythmicityPolyWeightedLF3 1.0 r ch rh
+                   "B" -> rhythmicityPolyWeightedEF2 1.0 r ch rh
+                   "C" -> rhythmicityPolyWeightedF2 1.0 r ch rh
+                   "M" -> rhythmicityPolyWeightedEF3 1.0 r ch rh
+                   "N" -> rhythmicityPolyWeightedF3 1.0 r ch rh
+                   "c" -> rhythmicityPoly 1.0 r ch rh) . rhythmicityGTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 n syllableDurationsDs)
+             _ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs))  tttt
+ | choice == "0y" -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt
+ | take 1 choice == "0" && drop 2 (take 3 choice) == "y" ->
+    let n2 = readMaybe (drop 1 . take 2 $ choice)::Maybe Int in
+      rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+          (helperHF1 (case n2 of {Just n3 -> n3; Nothing -> 1}) syllableDurationsDs) tttt
+ | choice == "0z" -> rhythmicity0FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) k tttt
+ | take 1 choice == "0" && drop 2 (take 3 choice) == "z" ->
+    let n2 = readMaybe (drop 1 . take 2 $ choice)::Maybe Int in
+      rhythmicity0FHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+          (helperHF1 (case n2 of {Just n3 -> n3; Nothing -> 1}) syllableDurationsDs) k tttt
+ | take 1 choice == "0" -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt
+ | take 1 choice == "w" -> if
+          | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
+             (case take 2 choice of
+              "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2) 
+              "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1) 
+              "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1) 
+              "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2) 
+              _ -> \_ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt) tttts
+          | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt
+ | take 1 choice == "x" -> if
+          | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
+             (case take 2 choice of
+              "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)
+              "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)
+              "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)
+              "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)
+              _ -> \_ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt) tttts
+          | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt
+ | otherwise -> if
+    | (take 1 choice == "b" || ((take 1 choice >= "d" && take 1 choice <= "v") || (take 1 choice >= "I" && take 1 choice <= "Z"))) && (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "9" ->
+        (case take 1 choice of
+          "b" -> g rhythmicityPolyWeightedLEF3 5 1
+          "d" -> g rhythmicityPolyWeightedLEF30 5 1
+          "e" -> g rhythmicityPolyWeightedLEF3 6 2
+          "f" -> g rhythmicityPolyWeightedLEF30 6 2
+          "g" -> g rhythmicityPolyWeightedLEF2 5 1
+          "h" -> g rhythmicityPolyWeightedLEF20 5 1
+          "i" -> g rhythmicityPolyWeightedLEF2 6 2
+          "j" -> g rhythmicityPolyWeightedLEF20 6 2
+          "k" -> g rhythmicityPolyWeightedLF3 5 1
+          "l" -> g rhythmicityPolyWeightedLF30 5 1
+          "m" -> g rhythmicityPolyWeightedLF3 6 2
+          "n" -> g rhythmicityPolyWeightedLF30 6 2
+          "o" -> g rhythmicityPolyWeightedLF2 5 1
+          "p" -> g rhythmicityPolyWeightedLF20 5 1
+          "q" -> g rhythmicityPolyWeightedLF2 6 2
+          "r" -> g rhythmicityPolyWeightedLF20 6 2
+          "I" -> g rhythmicityPolyWeightedEF3 5 1
+          "J" -> g rhythmicityPolyWeightedEF30 5 1
+          "K" -> g rhythmicityPolyWeightedEF3 6 2
+          "L" -> g rhythmicityPolyWeightedEF30 6 2
+          "O" -> g rhythmicityPolyWeightedEF2 5 1
+          "P" -> g rhythmicityPolyWeightedEF20 5 1
+          "Q" -> g rhythmicityPolyWeightedEF2 6 2
+          "R" -> g rhythmicityPolyWeightedEF20 6 2
+          "W" -> g rhythmicityPolyWeightedF3 5 1
+          "X" -> g rhythmicityPolyWeightedF30 5 1
+          "Y" -> g rhythmicityPolyWeightedF3 6 2
+          "Z" -> g rhythmicityPolyWeightedF30 6 2
+          "U" -> g rhythmicityPolyWeightedF2 5 1
+          "V" -> g rhythmicityPolyWeightedF20 5 1
+          "S" -> g rhythmicityPolyWeightedF2 6 2
+          "T" -> g rhythmicityPolyWeightedF20 6 2
+          "u" -> g rhythmicityPoly 5 1
+          "v" -> g rhythmicityPoly0 5 1
+          "s" -> g rhythmicityPoly 6 2
+          "t" -> g rhythmicityPoly0 6 2) . convFI bbs $  tttts
+    | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+       (let ts = drop 2 . take 3 $ choice in
+          case ts of { [] -> (\_ -> [[-1.0]]) ; ks ->
+            let q = readMaybe ks::Maybe Int in
+              case q of {Just q' -> helperHF1 q' syllableDurationsDs; ~Nothing -> (\_ -> [[-1.0]]) }}) tttt
+        where h1 f ts xs m n = f 1.0 4 (PolyCh xs m) (PolyRhythm [1,2,1,n]) . mconcat .
+                  (case ts of { [] -> (\_ -> [[-1.0]]) ; ks -> let q = readMaybe ks::Maybe Int in
+                      case q of {Just q' -> helperHF1 q' syllableDurationsDs; ~Nothing -> (\_ -> [[-1.0]]) }})
+              h2 f ts xs m n = f 1.0 4 (PolyCh xs m) (PolyRhythm [2,1,1,n]) . mconcat .
+                  (case ts of { [] -> (\_ -> [[-1.0]]) ; ks -> let q = readMaybe ks::Maybe Int in
+                      case q of {Just q' -> helperHF1 q' syllableDurationsDs; ~Nothing -> (\_ -> [[-1.0]]) }})
+              g f m n
+                | drop 1 (take 2 choice) == "0" = h1 f (drop 2 . take 3 $ choice) [True,True,True] m n
+                | drop 1 (take 2 choice) == "1" = h1 f (drop 2 . take 3 $ choice) [True,True,False] m n
+                | drop 1 (take 2 choice) == "2" = h1 f (drop 2 . take 3 $ choice) [True,False,True] m n
+                | drop 1 (take 2 choice) == "3" = h1 f (drop 2 . take 3 $ choice) [True,False,False] m n
+                | drop 1 (take 2 choice) == "4" = h2 f (drop 2 . take 3 $ choice) [True,True,True] m n
+                | drop 1 (take 2 choice) == "5" = h2 f (drop 2 . take 3 $ choice) [True,True,False] m n
+                | drop 1 (take 2 choice) == "6" = h2 f (drop 2 . take 3 $ choice) [True,False,True] m n
+                | drop 1 (take 2 choice) == "7" = h2 f (drop 2 . take 3 $ choice) [True,False,False] m n
+                | otherwise = \_ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 n syllableDurationsDs) tttt
+              w1F f ch rh = rhythmicityABC 1.0 2.0 0.125 ch rh . mconcat . f . (\_ -> tttts)
+              wwF2 g2 xs =
+                let n1 = readMaybe xs::Maybe Int in
+                   case n1 of
+                     Just n2 -> g2 (helperHF1 n2 syllableDurationsDs . convFI bbs)
+                     Nothing -> g2 (\_ -> [[-1.0]])
+              x1F f ch rh = rhythmicityABC0 1.0 2.0 0.125 ch rh . mconcat . f . (\_ -> tttts)
+              xxF = wwF2 x1F
+              wwF = wwF2 w1F
+              {-# INLINE w1F #-}
+              {-# INLINE wwF2 #-}
+              {-# INLINE x1F #-}
+              {-# INLINE xxF #-}
+              {-# INLINE wwF #-}
+rhythmicitya'Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice syllableDurationsDs (CF2 x y) bbs tttt@(Str tttts@(_:_)) =
+ case take 1 choice of
+  "0" -> if choice `elem` ["0z","02z","03z","04z"] then rhythmicityKFHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14
+           tup15 tup16 tup17 (helperHF1 (case last choice of {'2' -> 2; '3' -> 3; '4' -> 4; ~rrrrr -> 1}) syllableDurationsDs) k (fromMaybe 1.0 x)
+             (fromMaybe 1.0 y) tttt
+         else rhythmicityKHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+           (helperHF1 (case last choice of {'2' -> 2; '3' -> 3; '4' -> 4; ~rrrrr -> 1}) syllableDurationsDs) (fromMaybe 1.0 x) (fromMaybe 1.0 y) tttt
+  "w" -> if
+          | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
+             (case take 2 choice of
+              "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2) 
+              "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1) 
+              "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1) 
+              "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2) 
+              _ -> \_ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs)  tttt) tttts
+          | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt
+              where w1F f ch rh = rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat . f . (\_ -> tttts)
+                    wwF xs =
+                      let n1 = readMaybe xs::Maybe Int in
+                        case n1 of
+                         Just n2 -> w1F (helperHF1 n2 syllableDurationsDs . convFI bbs) 
+                         Nothing -> w1F (\_ -> [[-1.0]])
+                    {-# INLINE w1F #-}
+                    {-# INLINE wwF #-}
+  "x" -> if
+          | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->
+             (case take 2 choice of
+              "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2) 
+              "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1) 
+              "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1) 
+              "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2) 
+              _ -> \_ -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt) tttts
+          | otherwise -> rhythmicity0HTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17  (helperHF1 1 syllableDurationsDs) tttt
+              where x1F f ch rh = rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat . f . (\_ -> tttts)
+                    xxF xs =
+                      let n1 = readMaybe xs::Maybe Int in
+                        case n1 of
+                         Just n2 -> x1F (helperHF1 n2 syllableDurationsDs . convFI bbs)
+                         Nothing -> x1F (\_ -> [[-1.0]])
+                    {-# INLINE x1F #-}
+                    {-# INLINE xxF #-}
+  _ -> if
+     | ((take 1 choice >= "b" && take 1 choice <= "v") || (take 1 choice >= "A" && take 1 choice <= "Z" && take 1 choice `notElem` ["G","H"])) -> rhythmicityH'Tup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17 k choice syllableDurationsDs CF0 tttt
+     | otherwise -> rhythmicityKHTup tup1 tup2 tup3 tup4 tup5 tup6 tup7 tup8 tup9 tup10 tup11 tup12 tup13 tup14 tup15 tup16 tup17
+        (let ts = drop 2 . take 3 $ choice in
+          case ts of { [] -> (\_ -> [[-1.0]]) ; ks ->
+            let q = readMaybe ks::Maybe Int in
+              case q of {Just q' -> helperHF1 q' syllableDurationsDs; ~Nothing -> (\_ -> [[-1.0]]) }})
+                (fromMaybe 1.0 x) (fromMaybe 1.0 y) tttt
+
+rhythmicitya'Tup _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ = -2.0
diff --git a/Phonetic/Languages/Emphasis.hs b/Phonetic/Languages/Emphasis.hs
new file mode 100644
--- /dev/null
+++ b/Phonetic/Languages/Emphasis.hs
@@ -0,0 +1,137 @@
+{-# LANGUAGE BangPatterns #-}
+
+
+
+module Phonetic.Languages.Emphasis where
+
+import Languages.Phonetic.Ukrainian.Syllable.ArrInt8
+import Melodics.Ukrainian.ArrInt8
+import Languages.Phonetic.Ukrainian.Syllable.Double.ArrInt8 (syllableDurationsGD)
+import GHC.Int
+import Data.Maybe (fromMaybe)
+import Text.Read (readMaybe)
+import Data.Char (toUpper)
+import GHC.Arr
+import Data.List (scanl',intersperse)
+import CaseBi.Arr
+import CaseBi.Arr (getBFst',getBFstLSorted')
+import Data.Lists.FLines (newLineEnding)
+import Data.Traversable (traverse)
+import Control.Applicative
+import System.IO
+
+data SyllWeights = Sy {
+  point :: !FlowSound
+  , order :: !Int8 -- Is intended to begin at -128 up to 0 (maximum 129 entries).
+  , weight :: !Double
+}
+
+instance Show SyllWeights where
+  show (Sy ps i w) = showFS ps `mappend` (' ':show i) `mappend` (' ':show w) `mappend` newLineEnding
+
+weightSyllablesIO :: [FlowSound] -> IO [SyllWeights]
+weightSyllablesIO = traverse (\(i,xs) -> (\d1 -> (Sy xs i d1)) <$> weightSyllAIO False xs)  . zip ([-128..0]::[Int8])
+
+weightStringIO :: String -> IO ([[FlowSound]],[SyllWeights],[[FlowSound]])
+weightStringIO xs = weightSyllablesIO fss >>= \zs -> pure (tsss, zs, helper1F . scanl' (+) (-128::Int8) . map (fromIntegral . length) $ tsss)
+  where tsss = createSyllablesUkrS xs
+        fss = [ ts | tss <- tsss , ts <- tss ]
+
+weightStringNIO :: Int ->  String -> IO ([[FlowSound]],[[SyllWeights]],[[FlowSound]])
+weightStringNIO n xs = traverse (\_-> weightSyllablesIO fss) [1..n] >>= \zss -> pure (tsss, zss, helper1F . scanl' (+) (-128::Int8) . map (fromIntegral . length) $ tsss)
+  where tsss = createSyllablesUkrS xs
+        fss = [ ts | tss <- tsss , ts <- tss ]
+
+weights2SyllableDurationsDArr :: [SyllWeights] -> Array Int (Sound8,Double)
+weights2SyllableDurationsDArr xs = listArray (0,l-1) . map (\(Sy _ i w) -> (i,w)) $ xs
+  where l = length xs
+
+weights2SyllableDurationsD :: [SyllWeights] -> [[[Sound8]]] -> [[Double]]
+weights2SyllableDurationsD xs = syllableDurationsGD (getBFst' (4.0, weights2SyllableDurationsDArr xs))
+{-# INLINE weights2SyllableDurationsD #-}
+
+helper1F :: [Int8] -> [[FlowSound]]
+helper1F (x:y:ys) = map (:[]) [x..y-1]:helper1F (y:ys)
+helper1F _ = []
+
+weightSyllAIO :: Bool -> FlowSound -> IO Double
+weightSyllAIO upper xs
+  | null xs = pure 4.0
+  | otherwise = 
+    (\d -> fromMaybe 4.0 (readMaybe d::Maybe Double)) <$> (hPutStr stderr ("?  " `mappend` ((if upper then map toUpper else id) . showFS $ xs) `mappend` "   ") *> getLine) -- Well, definitely it should not be 'stderr' here, but 'stdout' gives some strange behaviour, probably related to optimizations or some strange 'Handle' behaviour. (?)
+
+
+data ReadyForConstructionUkr = Str String | FSL [[FlowSound]] deriving (Eq,Ord)
+
+showR :: ReadyForConstructionUkr -> String
+showR (Str xs) = xs
+showR (FSL tsss) = show tsss
+
+isStr :: ReadyForConstructionUkr -> Bool
+isStr (Str _) = True
+isStr _ = False
+
+isFSL :: ReadyForConstructionUkr -> Bool
+isFSL (FSL _) = True
+isFSL _ = False
+
+fromReadyFCUkrS :: ReadyForConstructionUkr -> Maybe String
+fromReadyFCUkrS (Str xs) = Just xs
+fromReadyFCUkrS _ = Nothing
+
+fromReadyFCUkrF :: ReadyForConstructionUkr -> Maybe [[FlowSound]]
+fromReadyFCUkrF (FSL xsss) = Just xsss
+fromReadyFCUkrF _ = Nothing
+
+helper2F :: [b] -> [a] -> [a] -> [[a]] -> [([b],[a],[a])]
+helper2F vs xs ys tss = let (us,ks,rs) = unzip3 . zip3 vs xs $ ys in
+  helper2F' us ks rs tss
+    where helper2F' us@(_:_) ks@(_:_) rs@(_:_) tss@(ts:wss) =
+            let l = length ts
+                (wws,vvs) = splitAt l us
+                (qs,ps) = splitAt l ks
+                (ns,ms) = splitAt l rs
+                in (wws,qs,ns):helper2F' vvs ps ms wss
+          helper2F' _ _ _ _ = []
+ 
+convF1 :: String -> [[FlowSound]]
+convF1 xs
+ | null xs = []
+ | otherwise = [ tss | tss <- createSyllablesUkrS xs ]
+
+convF3 :: String -> [([String],[FlowSound],[FlowSound])]
+convF3 xs
+ | null xs = [([],[],[])]
+ | otherwise = helper2F (concatMap (map showFS) tsss) (map (:[]) ([-128..0]::[Int8])) [ ts | tss <- qss, ts <- tss ] qss
+    where tsss = createSyllablesUkrS xs
+          qss = [ tss | tss <- tsss ]
+
+convF3W :: String -> [(String,[FlowSound])]
+convF3W xs
+ | null xs = [([],[])]
+ | otherwise = zipWith (\(_,ys,_) ts -> (ts,ys)) (convF3 xs) . words $ xs
+
+convFI :: String -> String -> [[FlowSound]]
+convFI ts = map f . words
+  where !f = getBFstL' [] (convF3W ts)
+
+convFSL :: String -> ReadyForConstructionUkr -> String
+convFSL ts r@(Str xs) = concat . concat . intersperse [" "] . map (\(ks,_,_)-> ks) . convF3 $ xs
+   where js =  unzip . map (\(rs,ps,_) -> (ps,rs)) . convF3 $ ts
+convFSL ts r@(FSL tsss) =  concat . concat . intersperse [" "] . map (map (getBFstLSorted' " " ks) ) $ tsss
+   where js = unzip . map (\(rs,ps,_) -> (ps,rs)) . convF3 $ ts
+         ks = zip (concat . fst $ js) (concat . snd $ js)
+
+weightsString3IO :: Bool -> String -> IO ([[FlowSound]],[[[FlowSound]] -> [[Double]]],ReadyForConstructionUkr)
+weightsString3IO bool bs 
+ | bool = do
+   (syllDs1,sylws,fsls0) <- weightStringIO bs
+   let syllableDurationsD2s = [weights2SyllableDurationsD sylws]
+   return (syllDs1,syllableDurationsD2s,FSL fsls0) 
+ | otherwise = return ([],[],FSL [])
+
+weightsString3NIO :: Int -> Bool -> String -> IO ([[FlowSound]],[[[FlowSound]] -> [[Double]]],ReadyForConstructionUkr)
+weightsString3NIO n bool bs 
+ | bool = (\(syllDs1,sylws,fsls0) -> (syllDs1,map weights2SyllableDurationsD sylws,FSL fsls0)) <$> weightStringNIO n bs
+ | otherwise = pure ([],[],FSL [])
+
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.14.0.0
+version:             0.15.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
@@ -17,9 +17,9 @@
 cabal-version:       >=1.10
 
 library
-  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
+  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.5.0.0, ukrainian-phonetics-basic-array ==0.5.3.0, phonetic-languages-basis ==0.1.0.0, phonetic-languages-simplified-properties-array-common ==0.1.0.0
+  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
   -- hs-source-dirs:
   default-language:    Haskell2010
