diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,3 +12,6 @@
 
 * First version revised B. Added new properties related to the new durations-related functionality in the ukrainian-phonetics-basic-array-0.1.2.0 package.
 
+## 0.2.0.0 -- 2021-02-01
+
+* Second version. Added new properties ("z"-line) to the modules. Some code generalization.
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2020 OleksandrZhabenko
+Copyright (c) 2020-2021 OleksandrZhabenko
 
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the
diff --git a/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2.hs b/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2.hs
--- a/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2.hs
+++ b/Phonetic/Languages/Array/Ukrainian/PropertiesFuncRepG2.hs
@@ -16,18 +16,30 @@
 module Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2 (
   -- * Functions with 'Int16'
   procDiverse2I
-  -- * Functions with 'Float'
+  -- * Functions with 'Double'
+  -- ** More general
+  , procB2FG
+  , procB2InvFG
+  -- ** Usual ones
   , procDiverse2F
   , procBothF
+  , procBothFF
   , procBothInvF
+  , procBothInvFF
   -- ** Working with generated by r-glpk-phonetic-languages-ukrainian-durations syllable durations
   , procBoth2F
+  , procBoth2FF
   , procBoth2InvF
+  , procBoth2InvFF
   -- ** NEW Working with generated by r-glpk-phonetic-languages-ukrainian-durations syllable durations
   , procBoth3F
+  , procBoth3FF
   , procBoth3InvF
+  , procBoth3InvFF
   , procBoth4F
+  , procBoth4FF
   , procBoth4InvF
+  , procBoth4InvFF
   -- * Working with rhythmicity
   , procRhythmicity23F
 ) where
@@ -42,6 +54,7 @@
 import Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2
 import Phonetic.Languages.Simplified.Lists.UniquenessPeriodsG.Base
 import Languages.Rhythmicity
+import Languages.Rhythmicity.Factor
 import Phonetic.Languages.Simplified.DataG.Base
 import GHC.Float (int2Double)
 import Melodics.ByteString.Ukrainian.Arr
@@ -71,12 +84,90 @@
 
 --------------------------------------------------------------------------------------------
 
-procRhythmicity23F
+eval23Coeffs :: Coeffs2 -> [Double] -> Double
+eval23Coeffs (CF2 x y) = evalRhythmicity23K (fromMaybe 1.0 x) (fromMaybe 1.0 y)
+eval23Coeffs CF0 = evalRhythmicity23
+{-# INLINE eval23Coeffs #-}
+
+eval23CoeffsF :: Double -> Coeffs2 -> [Double] -> Double
+eval23CoeffsF k (CF2 x y) = evalRhythmicity23KF k (fromMaybe 1.0 x) (fromMaybe 1.0 y)
+eval23CoeffsF k CF0 = evalRhythmicity23F k
+{-# INLINE eval23CoeffsF #-}
+
+procB2FG
+  :: (Ord c) => ([Double] -> Double)
+  -> (Double -> c)
+  -> ([[[S.UZPP2]]] -> [[Double]])
+  -> Coeffs2
+  -> FuncRep2 String Double c
+procB2FG h1 h g coeffs = D (\xs -> let ys = convertToProperUkrainianS . map (\x -> if x == '-' then ' ' else x) $ xs in  ((int2Double . fromEnum . diverse2GL " 01-" $ ys)*(h1 . mconcat . g . map (S.divVwls . S.reSyllableCntnts . S.groupSnds . S.str2UZPP2s) . words1 . mapMaybe f $ ys))) h
+{-# INLINE procB2FG #-}
+
+procB2F
   :: (Ord c) => (Double -> c)
+  -> ([[[S.UZPP2]]] -> [[Double]])
+  -> Coeffs2
+  -> FuncRep2 String Double c
+procB2F h g coeffs = procB2FG (eval23Coeffs coeffs) h g coeffs
+{-# INLINE procB2F #-}
+
+procB2FF
+  :: (Ord c) => Double 
+  -> (Double -> c)
+  -> ([[[S.UZPP2]]] -> [[Double]])
+  -> Coeffs2
+  -> FuncRep2 String Double c
+procB2FF k h g coeffs = procB2FG (eval23CoeffsF k coeffs) h g coeffs
+{-# INLINE procB2FF #-}
+
+procB2InvFG
+  :: (Ord c) => ([Double] -> Double)
+  -> (Double -> c)
+  -> ([[[S.UZPP2]]] -> [[Double]])
+  -> Coeffs2
+  -> FuncRep2 String Double c
+procB2InvFG h1 h g coeffs = D (\xs ->
+  let !ys = convertToProperUkrainianS . map (\x -> if x == '-' then ' ' else x) $ xs
+      !z = diverse2GL " 01-" ys in if z == 0 then  (h1 . mconcat . g . map (S.divVwls . S.reSyllableCntnts . S.groupSnds .
+         S.str2UZPP2s) . words1 . mapMaybe f $ ys) ** 2.0
+        else  ((h1 . mconcat . g . map (S.divVwls . S.reSyllableCntnts . S.groupSnds . S.str2UZPP2s) . words1 . mapMaybe f $ ys) / (int2Double . fromEnum $ z))) h
+{-# INLINE procB2InvFG #-}
+
+procB2InvF
+  :: (Ord c) => (Double -> c)
+  -> ([[[S.UZPP2]]] -> [[Double]])
+  -> Coeffs2
+  -> FuncRep2 String Double c
+procB2InvF h g coeffs = procB2InvFG (eval23Coeffs coeffs) h g coeffs
+{-# INLINE procB2InvF #-}
+
+procB2InvFF
+  :: (Ord c) => Double
+  -> (Double -> c)
+  -> ([[[S.UZPP2]]] -> [[Double]])
+  -> Coeffs2
+  -> FuncRep2 String Double c
+procB2InvFF k h g coeffs = procB2InvFG (eval23CoeffsF k coeffs) h g coeffs
+{-# INLINE procB2InvFF #-}
+
+---------------------------------------------------------------------
+
+procRhythm23F
+  :: (Ord c) => (Double -> c)
   -> String
+  -> (String -> Coeffs2 -> String -> Double)
   -> Coeffs2
   -> FuncRep2 String Double c
-procRhythmicity23F g choice coeffs = procRhythm23F g choice rhythmicity coeffs
+procRhythm23F h choice g coeffs = D (g choice coeffs) h
+{-# INLINE procRhythm23F #-}
+
+procRhythmicity23F
+  :: (Ord c) => Double
+  -> (Double -> c)
+  -> String
+  -> Coeffs2
+  -> FuncRep2 String Double c
+procRhythmicity23F k g choice coeffs = procRhythm23F g choice (rhythmicity k) coeffs
 {-# INLINE procRhythmicity23F #-}
 
 procBothF
@@ -86,6 +177,14 @@
 procBothF g coeffs  = procB2F g SD.syllableDurationsD coeffs
 {-# INLINE procBothF #-}
 
+procBothFF
+  :: (Ord c) => Double
+  -> (Double -> c)
+  -> Coeffs2
+  -> FuncRep2 String Double c
+procBothFF k g coeffs  = procB2FF k g SD.syllableDurationsD coeffs
+{-# INLINE procBothFF #-}
+
 procBothInvF
   :: (Ord c) => (Double -> c)
   -> Coeffs2
@@ -93,6 +192,14 @@
 procBothInvF g coeffs  = procB2InvF g SD.syllableDurationsD coeffs
 {-# INLINE procBothInvF #-}
 
+procBothInvFF
+  :: (Ord c) => Double
+  -> (Double -> c)
+  -> Coeffs2
+  -> FuncRep2 String Double c
+procBothInvFF k g coeffs  = procB2InvFF k g SD.syllableDurationsD coeffs
+{-# INLINE procBothInvFF #-}
+
 -------------------------------------------------------------------------------
 
 procBoth2F
@@ -109,42 +216,23 @@
 procBoth2InvF g coeffs  = procB2InvF g SD.syllableDurationsD2 coeffs
 {-# INLINE procBoth2InvF #-}
 
--------------------------------------------------------------
-
-eval23Coeffs :: Coeffs2 -> [Double] -> Double
-eval23Coeffs (CF2 x y) = evalRhythmicity23K (fromMaybe 1.0 x) (fromMaybe 1.0 y)
-eval23Coeffs CF0 = evalRhythmicity23
-
-procRhythm23F
-  :: (Ord c) => (Double -> c)
-  -> String
-  -> (String -> Coeffs2 -> String -> Double)
-  -> Coeffs2
-  -> FuncRep2 String Double c
-procRhythm23F h choice g coeffs = D (g choice coeffs) h
-{-# INLINE procRhythm23F #-}
-
-procB2F
-  :: (Ord c) => (Double -> c)
-  -> ([[[S.UZPP2]]] -> [[Double]])
+procBoth2FF
+  :: (Ord c) => Double
+  -> (Double -> c)
   -> Coeffs2
   -> FuncRep2 String Double c
-procB2F h g coeffs = D (\xs -> let ys = convertToProperUkrainianS . map (\x -> if x == '-' then ' ' else x) $ xs in  ((int2Double . fromEnum . diverse2GL " 01-" $ ys)*(eval23Coeffs coeffs . mconcat . g . map (S.divVwls . S.reSyllableCntnts . S.groupSnds . S.str2UZPP2s) . words1 . mapMaybe f $ ys))) h
-{-# INLINE procB2F #-}
+procBoth2FF k g coeffs  = procB2FF k g SD.syllableDurationsD2 coeffs
+{-# INLINE procBoth2FF #-}
 
-procB2InvF
-  :: (Ord c) => (Double -> c)
-  -> ([[[S.UZPP2]]] -> [[Double]])
+procBoth2InvFF
+  :: (Ord c) => Double
+  -> (Double -> c)
   -> Coeffs2
   -> FuncRep2 String Double c
-procB2InvF h g coeffs = D (\xs ->
-  let !ys = convertToProperUkrainianS . map (\x -> if x == '-' then ' ' else x) $ xs
-      !z = diverse2GL " 01-" ys in if z == 0 then  (eval23Coeffs coeffs . mconcat . g . map (S.divVwls . S.reSyllableCntnts . S.groupSnds .
-         S.str2UZPP2s) . words1 . mapMaybe f $ ys) ** 2.0
-        else  ((eval23Coeffs coeffs . mconcat . g . map (S.divVwls . S.reSyllableCntnts . S.groupSnds . S.str2UZPP2s) . words1 . mapMaybe f $ ys) / (int2Double . fromEnum $ z))) h
-{-# INLINE procB2InvF #-}
+procBoth2InvFF k g coeffs  = procB2InvFF k g SD.syllableDurationsD2 coeffs
+{-# INLINE procBoth2InvFF #-}
 
----------------------------------------------------------------------
+-------------------------------------------------------------
 
 procBoth3F
   :: (Ord c) => (Double -> c)
@@ -160,6 +248,22 @@
 procBoth3InvF g coeffs  = procB2InvF g SD.syllableDurationsD3 coeffs
 {-# INLINE procBoth3InvF #-}
 
+procBoth3FF
+  :: (Ord c) => Double
+  -> (Double -> c)
+  -> Coeffs2
+  -> FuncRep2 String Double c
+procBoth3FF k g coeffs  = procB2FF k g SD.syllableDurationsD3 coeffs
+{-# INLINE procBoth3FF #-}
+
+procBoth3InvFF
+  :: (Ord c) => Double
+  -> (Double -> c)
+  -> Coeffs2
+  -> FuncRep2 String Double c
+procBoth3InvFF k g coeffs  = procB2InvFF k g SD.syllableDurationsD3 coeffs
+{-# INLINE procBoth3InvFF #-}
+
 -------------------------------------------------------------
 
 procBoth4F
@@ -175,6 +279,22 @@
   -> FuncRep2 String Double c
 procBoth4InvF g coeffs  = procB2InvF g SD.syllableDurationsD4 coeffs
 {-# INLINE procBoth4InvF #-}
+
+procBoth4FF
+  :: (Ord c) => Double
+  -> (Double -> c)
+  -> Coeffs2
+  -> FuncRep2 String Double c
+procBoth4FF k g coeffs  = procB2FF k g SD.syllableDurationsD4 coeffs
+{-# INLINE procBoth4FF #-}
+
+procBoth4InvFF
+  :: (Ord c) => Double
+  -> (Double -> c)
+  -> Coeffs2
+  -> FuncRep2 String Double c
+procBoth4InvFF k g coeffs  = procB2InvFF k g SD.syllableDurationsD4 coeffs
+{-# INLINE procBoth4InvFF #-}
 
 -------------------------------------------------------------
 
diff --git a/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2.hs b/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2.hs
--- a/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2.hs
+++ b/Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2.hs
@@ -23,24 +23,33 @@
   , fstCF
   , sndCF
   , readCF
-  -- * Rhythmicity metrices (semi-empirical)
+  -- * Rhythmicity properties (semi-empirical)
   -- ** Simple one
   , rhythmicity0
+  , rhythmicity0F
   -- ** With weight coefficients
   , rhythmicityK
-  -- * Rhythmicity metrices from generated with r-glpk-phonetic-languages-ukrainian-durations package (since 0.2.0.0 version)
+  , rhythmicityKF
+  -- * Rhythmicity properties from generated with r-glpk-phonetic-languages-ukrainian-durations package (since 0.2.0.0 version)
   -- ** Simple one
   , rhythmicity02
+  , rhythmicity02F
   -- ** With weight coefficients
   , rhythmicityK2
-  -- * NEW Rhythmicity metrices from generated with r-glpk-phonetic-languages-ukrainian-durations package
+  , rhythmicityKF2
+  -- * NEW Rhythmicity properties from generated with r-glpk-phonetic-languages-ukrainian-durations package
   -- ** Simple ones
   , rhythmicity03
+  , rhythmicity03F
   , rhythmicity04
+  , rhythmicity04F
   -- ** With weight coefficients
   , rhythmicityK3
+  , rhythmicityKF3
   , rhythmicityK4
+  , rhythmicityKF4
   -- * General
+  , rhythmicityG
   , rhythmicity
 ) where
 
@@ -52,6 +61,7 @@
 #endif
 
 import Languages.Rhythmicity
+import Languages.Rhythmicity.Factor
 import Languages.Phonetic.Ukrainian.Syllable.Double.Arr
 import Languages.Phonetic.Ukrainian.Syllable.Arr
 import Data.Maybe (isNothing,fromMaybe)
@@ -98,62 +108,110 @@
 eval23K k2 k3 = evalRhythmicity23K k2 k3 . mconcat
 {-# INLINE eval23K #-}
 
-rhythmicity0 :: String -> Double
-rhythmicity0 xs
- | null xs = 0.0
- | otherwise = eval23 . syllableDurationsD . createSyllablesUkrS $ xs
+eval23F k = evalRhythmicity23F k . mconcat
+{-# INLINE eval23F #-}
 
-rhythmicityK :: Double -> Double -> String -> Double
-rhythmicityK k2 k3 xs
+eval23KF k k2 k3 = evalRhythmicity23KF k k2 k3 . mconcat
+{-# INLINE eval23KF #-}
+
+rhythmicityG :: ([[[UZPP2]]] -> [[Double]]) -> ([[Double]] -> Double) -> String -> Double
+rhythmicityG f g xs
  | null xs = 0.0
- | otherwise = eval23K k2 k3 . syllableDurationsD . createSyllablesUkrS $ xs
+ | otherwise = g . f . createSyllablesUkrS $ xs
+{-# INLINE rhythmicityG #-} 
 
 -------------------------------------------------------
 
+rhythmicity0 :: String -> Double
+rhythmicity0 = rhythmicityG syllableDurationsD eval23
+{-# INLINE rhythmicity0 #-}
+
 rhythmicity02 :: String -> Double
-rhythmicity02 xs
- | null xs = 0.0
- | otherwise = eval23 . syllableDurationsD2 . createSyllablesUkrS $ xs
+rhythmicity02 = rhythmicityG syllableDurationsD2 eval23
+{-# INLINE rhythmicity02 #-}
 
-rhythmicityK2 :: Double -> Double -> String -> Double
-rhythmicityK2 k2 k3 xs
- | null xs = 0.0
- | otherwise = eval23K k2 k3 . syllableDurationsD2 . createSyllablesUkrS $ xs
+rhythmicity03 :: String -> Double
+rhythmicity03 = rhythmicityG syllableDurationsD3 eval23
+{-# INLINE rhythmicity03 #-}
 
+rhythmicity04 :: String -> Double
+rhythmicity04 = rhythmicityG syllableDurationsD4 eval23
+{-# INLINE rhythmicity04 #-}
+
 -------------------------------------------------------
 
-rhythmicity03 :: String -> Double
-rhythmicity03 xs
- | null xs = 0.0
- | otherwise = eval23 . syllableDurationsD3 . createSyllablesUkrS $ xs
+rhythmicityK :: Double -> Double -> String -> Double
+rhythmicityK k2 k3 = rhythmicityG syllableDurationsD (eval23K k2 k3)
+{-# INLINE rhythmicityK #-}
 
+rhythmicityK2 :: Double -> Double -> String -> Double
+rhythmicityK2 k2 k3 = rhythmicityG syllableDurationsD2 (eval23K k2 k3)
+{-# INLINE rhythmicityK2 #-}
+
 rhythmicityK3 :: Double -> Double -> String -> Double
-rhythmicityK3 k2 k3 xs
- | null xs = 0.0
- | otherwise = eval23K k2 k3 . syllableDurationsD3 . createSyllablesUkrS $ xs
+rhythmicityK3 k2 k3 = rhythmicityG syllableDurationsD3 (eval23K k2 k3)
+{-# INLINE rhythmicityK3 #-}
 
-------------------------------------------------------------------
+rhythmicityK4 :: Double -> Double -> String -> Double
+rhythmicityK4 k2 k3 = rhythmicityG syllableDurationsD4 (eval23K k2 k3)
+{-# INLINE rhythmicityK4 #-}
 
-rhythmicity04 :: String -> Double
-rhythmicity04 xs
- | null xs = 0.0
- | otherwise = eval23 . syllableDurationsD4 . createSyllablesUkrS $ xs
+--------------------------------------------------------
 
-rhythmicityK4 :: Double -> Double -> String -> Double
-rhythmicityK4 k2 k3 xs
- | null xs = 0.0
- | otherwise = eval23K k2 k3 . syllableDurationsD4 . createSyllablesUkrS $ xs
+rhythmicity0F :: Double -> String -> Double
+rhythmicity0F k = rhythmicityG syllableDurationsD (eval23F k)
+{-# INLINE rhythmicity0F #-}
 
----------------------------------------------------------------- 
+rhythmicity02F :: Double -> String -> Double
+rhythmicity02F k = rhythmicityG syllableDurationsD2 (eval23F k)
+{-# INLINE rhythmicity02F #-}
 
-rhythmicity :: String -> Coeffs2 -> String -> Double
-rhythmicity choice CF0
-  | choice == "0y" = rhythmicity0
-  | choice == "02y" = rhythmicity02
-  | choice == "03y" = rhythmicity03
-  | otherwise = rhythmicity04
-rhythmicity choice (CF2 x y)
-  | choice == "0y" = rhythmicityK (fromMaybe 1.0 x) (fromMaybe 1.0 y)
-  | choice == "02y" = rhythmicityK2 (fromMaybe 1.0 x) (fromMaybe 1.0 y)
-  | choice == "03y" = rhythmicityK3 (fromMaybe 1.0 x) (fromMaybe 1.0 y)
-  | otherwise = rhythmicityK4 (fromMaybe 1.0 x) (fromMaybe 1.0 y)
+rhythmicity03F :: Double -> String -> Double
+rhythmicity03F k = rhythmicityG syllableDurationsD3 (eval23F k)
+{-# INLINE rhythmicity03F #-}
+
+rhythmicity04F :: Double -> String -> Double
+rhythmicity04F k = rhythmicityG syllableDurationsD4 (eval23F k)
+{-# INLINE rhythmicity04F #-}
+
+--------------------------------------------------------
+
+rhythmicityKF :: Double -> Double -> Double -> String -> Double
+rhythmicityKF k k2 k3 = rhythmicityG syllableDurationsD (eval23KF k k2 k3)
+{-# INLINE rhythmicityKF #-}
+
+rhythmicityKF2 :: Double -> Double -> Double -> String -> Double
+rhythmicityKF2 k k2 k3 = rhythmicityG syllableDurationsD2 (eval23KF k k2 k3)
+{-# INLINE rhythmicityKF2 #-}
+
+rhythmicityKF3 :: Double -> Double -> Double -> String -> Double
+rhythmicityKF3 k k2 k3 = rhythmicityG syllableDurationsD3 (eval23KF k k2 k3)
+{-# INLINE rhythmicityKF3 #-}
+
+rhythmicityKF4 :: Double -> Double -> Double -> String -> Double
+rhythmicityKF4 k k2 k3 = rhythmicityG syllableDurationsD4 (eval23KF k k2 k3)
+{-# INLINE rhythmicityKF4 #-}
+
+--------------------------------------------------------
+
+rhythmicity :: Double -> String -> Coeffs2 -> String -> Double
+rhythmicity k choice CF0 =
+ case choice of 
+  "0y" -> rhythmicity0
+  "02y" -> rhythmicity02
+  "03y" -> rhythmicity03
+  "0z" -> rhythmicity0F k
+  "02z" -> rhythmicity02F k
+  "03z" -> rhythmicity03F k
+  "04z" -> rhythmicity04F k
+  _ -> rhythmicity04
+rhythmicity k choice (CF2 x y) =
+ case choice of
+  "0y" -> rhythmicityK (fromMaybe 1.0 x) (fromMaybe 1.0 y)
+  "02y" -> rhythmicityK2 (fromMaybe 1.0 x) (fromMaybe 1.0 y)
+  "03y" -> rhythmicityK3 (fromMaybe 1.0 x) (fromMaybe 1.0 y)
+  "0z" -> rhythmicityKF k (fromMaybe 1.0 x) (fromMaybe 1.0 y)
+  "02z" -> rhythmicityKF2 k (fromMaybe 1.0 x) (fromMaybe 1.0 y)
+  "03z" -> rhythmicityKF3 k (fromMaybe 1.0 x) (fromMaybe 1.0 y)
+  "04z" -> rhythmicityKF4 k (fromMaybe 1.0 x) (fromMaybe 1.0 y)
+  _ -> rhythmicityK4 (fromMaybe 1.0 x) (fromMaybe 1.0 y)
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.1.2.0
+version:             0.2.0.0
 synopsis:            A generalization of the uniqueness-periods-vector-properties package.
 description:         Is a simplified version of the functionality of the former one. Uses lists and arrays as main processment data types. Uses Double whenever applicable.
 homepage:            https://hackage.haskell.org/package/phonetic-languages-simplified-properties-array
@@ -20,6 +20,6 @@
   exposed-modules:     Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2, Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2
   -- other-modules:
   other-extensions:    BangPatterns, CPP
-  build-depends:       base >=4.8 && <4.15, phonetic-languages-rhythmicity >=0.1.2 && <1, phonetic-languages-simplified-base >=0.1 && <1, ukrainian-phonetics-basic-array >=0.1.2 && <1
+  build-depends:       base >=4.8 && <4.15, phonetic-languages-rhythmicity >=0.2 && <1, phonetic-languages-simplified-base >=0.1 && <1, ukrainian-phonetics-basic-array >=0.1.2 && <1
   -- hs-source-dirs:
   default-language:    Haskell2010
