diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -38,3 +38,8 @@
 
 * Fourth version revised A. Fixed issues with the fixed point of 1.0 (arising from the issue in the dependency package
 phonetic-languages-rhythmicity).
+
+## 0.4.2.0 -- 2021-07-31
+
+* Fourth version revised B. Some code improvements (reduced duplication). Fixed issues with vice versa of the
+'0' and not '0' functions.
diff --git a/Phonetic/Languages/Array/General/PropertiesSyllablesG2.hs b/Phonetic/Languages/Array/General/PropertiesSyllablesG2.hs
--- a/Phonetic/Languages/Array/General/PropertiesSyllablesG2.hs
+++ b/Phonetic/Languages/Array/General/PropertiesSyllablesG2.hs
@@ -16,7 +16,7 @@
 -- then import it qualified (or this module) because they have many common data. Is provided as a standalone one
 -- to reduce dependencies list in general case. 
 
-{-# LANGUAGE CPP, BangPatterns #-}
+{-# LANGUAGE CPP, BangPatterns, MultiWayIf #-}
 
 module Phonetic.Languages.Array.General.PropertiesSyllablesG2 (
     -- * Newtype to work with
@@ -223,106 +223,110 @@
 rhythmicity k choice h CF0
  | choice `elem` ["0z","02z","03z","04z"] = rhythmicity0Fi f k
  | take 1 choice == "w" = case take 2 choice of
-     "w0" -> rhythmicityG f (rhythmicityABC0 1.0 2.0 0.125 (Ch 1 1 4) (Rhythm 1 1 2) . mconcat)
-     "w1" -> rhythmicityG f (rhythmicityABC0 1.0 2.0 0.125 (Ch 1 0 4) (Rhythm 2 1 1) . mconcat)
-     "w2" -> rhythmicityG f (rhythmicityABC0 1.0 2.0 0.125 (Ch 0 1 4) (Rhythm 1 2 1) . mconcat)
-     "w3" -> rhythmicityG f (rhythmicityABC0 1.0 2.0 0.125 (Ch 0 0 4) (Rhythm 1 1 2) . mconcat)
-     _ -> rhythmicityG f (rhythmicityABC0 1.0 2.0 0.125 (Ch 0 0 4) (Rhythm 1 1 2) . mconcat)
+     "w0" -> w0F (Ch 1 1 4) (Rhythm 1 1 2)
+     "w1" -> w0F (Ch 1 0 4) (Rhythm 2 1 1)
+     "w2" -> w0F (Ch 0 1 4) (Rhythm 1 2 1)
+     "w3" -> w0F (Ch 0 0 4) (Rhythm 1 1 2)
+     _ -> w0F (Ch 0 0 4) (Rhythm 1 1 2)
  | take 1 choice == "x" = case take 2 choice of
-     "x0" -> rhythmicityG f (rhythmicityABC 1.0 2.0 0.125 (Ch 1 1 4) (Rhythm 1 1 2) . mconcat)
-     "x1" -> rhythmicityG f (rhythmicityABC 1.0 2.0 0.125 (Ch 1 0 4) (Rhythm 2 1 1) . mconcat)
-     "x2" -> rhythmicityG f (rhythmicityABC 1.0 2.0 0.125 (Ch 0 1 4) (Rhythm 1 2 1) . mconcat)
-     "x3" -> rhythmicityG f (rhythmicityABC 1.0 2.0 0.125 (Ch 0 0 4) (Rhythm 1 1 2) . mconcat)
-     _ -> rhythmicityG f (rhythmicityABC 1.0 2.0 0.125 (Ch 0 0 4) (Rhythm 1 1 2) . mconcat)
+     "x0" -> x0F (Ch 1 1 4) (Rhythm 1 1 2)
+     "x1" -> x0F (Ch 1 0 4) (Rhythm 2 1 1)
+     "x2" -> x0F (Ch 0 1 4) (Rhythm 1 2 1)
+     "x3" -> x0F (Ch 0 0 4) (Rhythm 1 1 2)
+     _ -> x0F (Ch 0 0 4) (Rhythm 1 1 2)
  | take 1 choice == "c" = let just_probe = readRhythmicity choice in
            case just_probe of
              Just (P1 ch rh _) -> rhythmicityG f (rhythmicityABC 1.0 2.0 0.125 ch rh . mconcat)
              Just (P2 ch rh r _) -> rhythmicityG f (rhythmicityPoly 1.0 r ch rh . mconcat)
              _ -> rhythmicity0i f
- | take 1 choice == "u" =
-      case take 2 choice of
-           "u0" -> rhythmicityG f (rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [1,2,1,1]) . mconcat)
-           "u1" -> rhythmicityG f (rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [1,2,1,1]) . mconcat)
-           "u2" -> rhythmicityG f (rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [1,2,1,1]) . mconcat)
-           "u3" -> rhythmicityG f (rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [1,2,1,1]) . mconcat)
-           "u4" -> rhythmicityG f (rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [2,1,1,1]) . mconcat)
-           "u5" -> rhythmicityG f (rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [2,1,1,1]) . mconcat)
-           "u6" -> rhythmicityG f (rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [2,1,1,1]) . mconcat)
-           "u7" -> rhythmicityG f (rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [2,1,1,1]) . mconcat)
-           _ -> rhythmicity0i f
- | take 1 choice == "v" =
-      case take 2 choice of
-           "v0" -> rhythmicityG f (rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [1,2,1,1]) . mconcat)
-           "v1" -> rhythmicityG f (rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [1,2,1,1]) . mconcat)
-           "v2" -> rhythmicityG f (rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [1,2,1,1]) . mconcat)
-           "v3" -> rhythmicityG f (rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [1,2,1,1]) . mconcat)
-           "v4" -> rhythmicityG f (rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [2,1,1,1]) . mconcat)
-           "v5" -> rhythmicityG f (rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [2,1,1,1]) . mconcat)
-           "v6" -> rhythmicityG f (rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [2,1,1,1]) . mconcat)
-           "v7" -> rhythmicityG f (rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [2,1,1,1]) . mconcat)
-           _ -> rhythmicity0i f
- | take 1 choice == "s" =
-      case take 2 choice of
-           "s0" -> rhythmicityG f (rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [1,2,1,2]) . mconcat)
-           "s1" -> rhythmicityG f (rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [1,2,1,2]) . mconcat)
-           "s2" -> rhythmicityG f (rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [1,2,1,2]) . mconcat)
-           "s3" -> rhythmicityG f (rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [1,2,1,2]) . mconcat)
-           "s4" -> rhythmicityG f (rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [2,1,1,2]) . mconcat)
-           "s5" -> rhythmicityG f (rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [2,1,1,2]) . mconcat)
-           "s6" -> rhythmicityG f (rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [2,1,1,2]) . mconcat)
-           "s7" -> rhythmicityG f (rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [2,1,1,2]) . mconcat)
-           _ -> rhythmicity0i f
- | take 1 choice == "t" =
-      case take 2 choice of
-           "t0" -> rhythmicityG f (rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [1,2,1,2]) . mconcat)
-           "t1" -> rhythmicityG f (rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [1,2,1,2]) . mconcat)
-           "t2" -> rhythmicityG f (rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [1,2,1,2]) . mconcat)
-           "t3" -> rhythmicityG f (rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [1,2,1,2]) . mconcat)
-           "t4" -> rhythmicityG f (rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [2,1,1,2]) . mconcat)
-           "t5" -> rhythmicityG f (rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [2,1,1,2]) . mconcat)
-           "t6" -> rhythmicityG f (rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [2,1,1,2]) . mconcat)
-           "t7" -> rhythmicityG f (rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [2,1,1,2]) . mconcat)
-           _ -> rhythmicity0i f
+ | take 1 choice == "u" = if
+     | (drop 1 . take 2 $ choice) >= "0" && (drop 1 . take 2 $ choice) <= "3" ->
+         let uu0F rs = u0F (PolyCh rs 5) (PolyRhythm [1,2,1,1]) in
+               case drop 1 . take 2 $ choice of
+                 "0" -> uu0F [True,True,True]
+                 "1" -> uu0F [True,True,False]
+                 "2" -> uu0F [True,False,True]
+                 _ -> uu0F [True,False,False]
+     | (drop 1 . take 2 $ choice) >= "4" && (drop 1 . take 2 $ choice) <= "7" ->
+         let uu0F rs = u0F (PolyCh rs 5) (PolyRhythm [2,1,1,1]) in
+               case drop 1 . take 2 $ choice of
+                 "4" -> uu0F [True,True,True]
+                 "5" -> uu0F [True,True,False]
+                 "6" -> uu0F [True,False,True]
+                 ~"7" -> uu0F [True,False,False]
+     | otherwise -> rhythmicity0i f
+ | take 1 choice == "v" = if
+     | (drop 1 . take 2 $ choice) >= "0" && (drop 1 . take 2 $ choice) <= "3" ->
+         let vv0F rs = v0F (PolyCh rs 5) (PolyRhythm [1,2,1,1]) in
+               case drop 1 . take 2 $ choice of
+                 "0" -> vv0F [True,True,True]
+                 "1" -> vv0F [True,True,False]
+                 "2" -> vv0F [True,False,True]
+                 _ -> vv0F [True,False,False]
+     | (drop 1 . take 2 $ choice) >= "4" && (drop 1 . take 2 $ choice) <= "7" ->
+         let vv0F rs = v0F (PolyCh rs 5) (PolyRhythm [2,1,1,1]) in
+               case drop 1 . take 2 $ choice of
+                 "4" -> vv0F [True,True,True]
+                 "5" -> vv0F [True,True,False]
+                 "6" -> vv0F [True,False,True]
+                 ~"7" -> vv0F [True,False,False]
+     | otherwise -> rhythmicity0i f
+ | take 1 choice == "s" = if
+     | (drop 1 . take 2 $ choice) >= "0" && (drop 1 . take 2 $ choice) <= "3" ->
+         let ss0F rs = u0F (PolyCh rs 6) (PolyRhythm [1,2,1,2]) in
+               case drop 1 . take 2 $ choice of
+                 "0" -> ss0F [True,True,True]
+                 "1" -> ss0F [True,True,False]
+                 "2" -> ss0F [True,False,True]
+                 _ -> ss0F [True,False,False]
+     | (drop 1 . take 2 $ choice) >= "4" && (drop 1 . take 2 $ choice) <= "7" ->
+         let ss0F rs = u0F (PolyCh rs 6) (PolyRhythm [2,1,1,2]) in
+               case drop 1 . take 2 $ choice of
+                 "4" -> ss0F [True,True,True]
+                 "5" -> ss0F [True,True,False]
+                 "6" -> ss0F [True,False,True]
+                 ~"7" -> ss0F [True,False,False]
+     | otherwise -> rhythmicity0i f
+ | take 1 choice == "t" = if
+     | (drop 1 . take 2 $ choice) >= "0" && (drop 1 . take 2 $ choice) <= "3" ->
+         let tt0F rs = v0F (PolyCh rs 6) (PolyRhythm [1,2,1,2]) in
+               case drop 1 . take 2 $ choice of
+                 "0" -> tt0F [True,True,True]
+                 "1" -> tt0F [True,True,False]
+                 "2" -> tt0F [True,False,True]
+                 _ -> tt0F [True,False,False]
+     | (drop 1 . take 2 $ choice) >= "4" && (drop 1 . take 2 $ choice) <= "7" ->
+         let tt0F rs = v0F (PolyCh rs 6) (PolyRhythm [2,1,1,2]) in
+               case drop 1 . take 2 $ choice of
+                 "4" -> tt0F [True,True,True]
+                 "5" -> tt0F [True,True,False]
+                 "6" -> tt0F [True,False,True]
+                 ~"7" -> tt0F [True,False,False]
+     | otherwise -> rhythmicity0i f
  | otherwise = rhythmicity0i f
      where f = h k choice
+           w0F ch rh = rhythmicityG f (rhythmicityABC 1.0 2.0 0.125 ch rh . mconcat)
+           x0F ch rh = rhythmicityG f (rhythmicityABC0 1.0 2.0 0.125 ch rh . mconcat)
+           u0F ch rh = rhythmicityG f (rhythmicityPoly 1.0 4 ch rh . mconcat)
+           v0F ch rh = rhythmicityG f (rhythmicityPoly0 1.0 4 ch rh . mconcat)
+           {-# INLINE w0F #-}
+           {-# INLINE x0F #-}
+           {-# INLINE u0F #-}
+           {-# INLINE v0F #-}
 rhythmicity k choice h (CF2 x y)
  | choice `elem` ["0z","02z","03z","04z"] = rhythmicityKFi f k (fromMaybe 1.0 x) (fromMaybe 1.0 y)
- | take 1 choice == "w" = case choice of
-     "w01" -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 1 4) (Rhythm 1 1 2) . mconcat)
-     "w02" -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 1 4) (Rhythm 1 1 2) . mconcat)
-     "w03" -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 1 4) (Rhythm 1 1 2) . mconcat)
-     "w04" -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 1 4) (Rhythm 1 1 2) . mconcat)
-     "w11" -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 0 4) (Rhythm 2 1 1) . mconcat)
-     "w12" -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 0 4) (Rhythm 2 1 1) . mconcat)
-     "w13" -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 0 4) (Rhythm 2 1 1) . mconcat)
-     "w14" -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 0 4) (Rhythm 2 1 1) . mconcat)
-     "w21" -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 1 4) (Rhythm 1 2 1) . mconcat)
-     "w22" -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 1 4) (Rhythm 1 2 1) . mconcat)
-     "w23" -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 1 4) (Rhythm 1 2 1) . mconcat)
-     "w24" -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 1 4) (Rhythm 1 2 1) . mconcat)
-     "w31" -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat)
-     "w32" -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat)
-     "w33" -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat)
-     "w34" -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat)
-     _ -> rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat)
- | take 1 choice == "x" = case choice of
-     "x01" -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 1 4) (Rhythm 1 1 2) . mconcat)
-     "x02" -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 1 4) (Rhythm 1 1 2) . mconcat)
-     "x03" -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 1 4) (Rhythm 1 1 2) . mconcat)
-     "x04" -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 1 4) (Rhythm 1 1 2) . mconcat)
-     "x11" -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 0 4) (Rhythm 2 1 1) . mconcat)
-     "x12" -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 0 4) (Rhythm 2 1 1) . mconcat)
-     "x13" -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 0 4) (Rhythm 2 1 1) . mconcat)
-     "x14" -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 0 4) (Rhythm 2 1 1) . mconcat)
-     "x21" -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 1 4) (Rhythm 1 2 1) . mconcat)
-     "x22" -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 1 4) (Rhythm 1 2 1) . mconcat)
-     "x23" -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 1 4) (Rhythm 1 2 1) . mconcat)
-     "x24" -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 1 4) (Rhythm 1 2 1) . mconcat)
-     "x31" -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat)
-     "x32" -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat)
-     "x33" -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat)
-     "x34" -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat)
-     _ -> rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat)
+ | take 1 choice == "w" = if
+   | choice `elem` ["w01","w02","w03","w04"] -> w0F (Ch 1 1 4) (Rhythm 1 1 2)
+   | choice `elem` ["w11","w12","w13","w14"] -> w0F (Ch 1 0 4) (Rhythm 2 1 1)
+   | choice `elem` ["w21","w22","w23","w24"] -> w0F (Ch 0 1 4) (Rhythm 1 2 1)
+   | choice `elem` ["w31","w32","w33","w34"] -> w0F (Ch 0 0 4) (Rhythm 1 1 2)
+   | otherwise -> w0F (Ch 1 0 4) (Rhythm 1 1 2)
+ | take 1 choice == "x" = if
+   | choice `elem` ["x01","x02","x03","x04"] -> x0F (Ch 1 1 4) (Rhythm 1 1 2)
+   | choice `elem` ["x11","x12","x13","x14"] -> x0F (Ch 1 0 4) (Rhythm 2 1 1)
+   | choice `elem` ["x21","x22","x23","x24"] -> x0F (Ch 0 1 4) (Rhythm 1 2 1)
+   | choice `elem` ["x31","x32","x33","x34"] -> x0F (Ch 0 0 4) (Rhythm 1 1 2)
+   | otherwise -> x0F (Ch 1 0 4) (Rhythm 1 1 2)
  | take 1 choice == "c" = rhythmicity k choice h CF0
  | take 1 choice == "u" = rhythmicity k choice h CF0
  | take 1 choice == "v" = rhythmicity k choice h CF0
@@ -330,3 +334,8 @@
  | take 1 choice == "t" = rhythmicity k choice h CF0
  | otherwise = rhythmicityKi f (fromMaybe 1.0 x) (fromMaybe 1.0 y)
      where f = h k choice
+           w0F ch rh = rhythmicityG f (rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat)
+           x0F ch rh = rhythmicityG f (rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat)
+           {-# INLINE w0F #-}
+           {-# INLINE x0F #-}
+           
diff --git a/phonetic-languages-simplified-generalized-properties-array.cabal b/phonetic-languages-simplified-generalized-properties-array.cabal
--- a/phonetic-languages-simplified-generalized-properties-array.cabal
+++ b/phonetic-languages-simplified-generalized-properties-array.cabal
@@ -3,7 +3,7 @@
 -- http://haskell.org/cabal/users-guide/
 
 name:                phonetic-languages-simplified-generalized-properties-array
-version:             0.4.1.0
+version:             0.4.2.0
 synopsis:            Some 'properties' of the phonetic languages approach text.
 description:         Generalizes the functionality of the https://hackage.haskell.org/package/phonetic-languages-simplified-properties-array 
 homepage:            https://hackage.haskell.org/package/phonetic-languages-simplified-generalized-properties-array
@@ -20,7 +20,7 @@
 library
   exposed-modules:     Phonetic.Languages.Array.General.PropertiesFuncRepG2, Phonetic.Languages.Array.General.PropertiesSyllablesG2
   -- other-modules:
-  other-extensions:    CPP, BangPatterns
+  other-extensions:    CPP, BangPatterns, MultiWayIf
   build-depends:       base >=4.8 && <4.15, phonetic-languages-simplified-base >=0.2 && <1, phonetic-languages-rhythmicity >=0.5.1 && <1, phonetic-languages-phonetics-basics >=0.8.1 && <1
   -- hs-source-dirs:
   default-language:    Haskell2010
