diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -72,3 +72,8 @@
 
 * Sixth version revised B. Fixed issues with wrong order of the concatenations in the Data.Phonetic.Languages.PrepareText
 functions. Added some new functions for this.
+
+## 0.6.2.0 -- 2021-05-10
+
+* Sixth version revised C. Some documentation improvements. Fixed issues with being not compiled because of 2 doc-style comments
+(thanks to: Jonathan Ringer at notifications@github.com). 
diff --git a/Data/Phonetic/Languages/Base.hs b/Data/Phonetic/Languages/Base.hs
--- a/Data/Phonetic/Languages/Base.hs
+++ b/Data/Phonetic/Languages/Base.hs
@@ -181,39 +181,36 @@
         stringToX' rss m vs = bs : stringToX' rss m us
            where (!bs,!us) = f vs m rss
 
-{-| Uses the simplest variant of the 'GWritingSystemPRPLX' with just two generations where all the 'PREmptyC' elements in the
-'WritingSystemPRPLX' are used in the last order. Can be suitable for simple languages (e. g. Esperanto).
--}
+-- | Uses the simplest variant of the 'GWritingSystemPRPLX' with just two generations where all the 'PREmptyC' elements in the
+-- 'WritingSystemPRPLX' are used in the last order. Can be suitable for simple languages (e. g. Esperanto).
 string2X :: WritingSystemPRPLX -> String -> [PhoneticsRepresentationPLX]
 string2X xs = stringToXG [(zs,1),(ys,0)]
   where (ys,zs) = partition isPREmptyC xs
 {-# INLINE string2X #-}
 
-{-| Each generation represents a subset of rules for representation transformation. The 'PhoneticsRepresentationPLX'
-are groupped by the generations so that in every group with the same generation number ('Int8' value, typically starting
-from 1) the rules represented have no conflicts with each other (this guarantees that they can be applied simultaneously
-without the danger of incorrect interference). Usage of 'Generations' is a design decision and is inspired by the
-GHC RULES pragma and the GHC compilation multistage process. 
--}
+-- | Each generation represents a subset of rules for representation transformation. The 'PhoneticsRepresentationPLX'
+-- are groupped by the generations so that in every group with the same generation number ('Int8' value, typically starting
+-- from 1) the rules represented have no conflicts with each other (this guarantees that they can be applied simultaneously
+-- without the danger of incorrect interference). Usage of 'Generations' is a design decision and is inspired by the
+-- GHC RULES pragma and the GHC compilation multistage process. 
 type Generations = Int8
 
-{-| Each value represents temporary intermediate resulting 'String' data to be transformed further into the representation.
--}
+-- | Each value represents temporary intermediate resulting 'String' data to be transformed further into the representation.
 type InterGenerationsString = String
 
-{-| If the list here is proper and complete, then it usually represents the whole writing system of the language. For proper usage,
-the list must be sorted in the ascending order.
--}
+-- | If the list here is proper and complete, then it usually represents the whole writing system of the language. For proper usage,
+-- the list must be sorted in the ascending order.
 type WritingSystemPRPLX = [PhoneticsRepresentationPLX]
 
-{-| The \'dynamic\' representation of the general writing system that specifies what transformations are made simultaneously
-during the conversion to the phonetic languages phonetics representation. During transformations those elements that have
-greater 'Generations' are used earlier than others. The last ones are used those elements with the 'Generations' element
-equal to 0 that must correspond to the 'PREmptyC' constructor-built records. For proper usage, the lists on the first
-place of the tuples must be sorted in the ascending order.
--}
+-- | The \'dynamic\' representation of the general writing system that specifies what transformations are made simultaneously
+-- during the conversion to the phonetic languages phonetics representation. During transformations those elements that have
+-- greater 'Generations' are used earlier than others. The last ones are used those elements with the 'Generations' element
+-- equal to 0 that must correspond to the 'PREmptyC' constructor-built records. For proper usage, the lists on the first
+-- place of the tuples must be sorted in the ascending order.
 type GWritingSystemPRPLX = [([PhoneticsRepresentationPLX],Generations)]
 
+{-| The intermediate representation of the phonetic languages data. Is used during conversions.
+-}
 type PhoneticRepresentationXInter = Either PhoneticsRepresentationPLX InterGenerationsString
 
 fromPhoneticRX :: [PhoneticsRepresentationPLX] -> [PhoneticRepresentationXInter] -> [PhoneticsRepresentationPLX]
@@ -222,11 +219,12 @@
         fromInter2X _ (Left x) = [x]
         fromInter2X ys (Right z) = filter ((== z) . stringX) ys
 
-{-| The \'dynamic\' representation of the process of transformation for the general writing system during the conversion.
-Is not intended to be produced by hand, but automatically by programs.
--}
+-- | The \'dynamic\' representation of the process of transformation for the general writing system during the conversion.
+-- Is not intended to be produced by hand, but automatically by programs.
 type IGWritingSystemPRPLX = [(PhoneticRepresentationXInter,Generations)]
 
+-- | Splits the given list using 4 predicates into tuple of 4 lists of elements satisfying the predicates in the order
+-- being preserved.
 fHelp4 :: (a -> Bool) -> (a -> Bool) -> (a -> Bool) -> (a -> Bool) -> [a] -> ([a],[a],[a],[a])
 fHelp4 p1 p2 p3 p4 = foldr g v
   where v = ([],[],[],[])
@@ -316,10 +314,9 @@
 #endif
 #endif
 
-{-| Finds and element in the 'Array' that the corresponding 'PhoneticsRepresentationPLX' from the first argument is '~=' to the
-it. The 'String' arguments inside the tuple pair are the 'beforeString' and the 'afterString' elements of it to be used in 'Right'
-case.
--}
+-- | Finds and element in the 'Array' that the corresponding 'PhoneticsRepresentationPLX' from the first argument is '~=' to the
+-- it. The 'String' arguments inside the tuple pair are the 'beforeString' and the 'afterString' elements of it to be used in 'Right'
+-- case.
 findSAI
   :: PhoneticRepresentationXInter
   -> (String, String)
@@ -374,9 +371,7 @@
                   !r4s = listArray (0,length r4ls - 1) r4ls
                   !r5s = listArray (0,length r5ls - 1) r5ls
 
-{-|
-Is used internally in the 'stringToXSG' and 'stringToXG' functions respectively. 
--}
+-- | Is used internally in the 'stringToXSG' and 'stringToXG' functions respectively. 
 stringToXSGI :: GWritingSystemPRPLX -> Generations -> IGWritingSystemPRPLX -> IGWritingSystemPRPLX
 stringToXSGI xs n ys
  | n > 0 = stringToXSGI (xs \\ ts) (n - 1) . xsGI zs n $ ys
@@ -413,8 +408,7 @@
                    !r4s = listArray (0,length r4ls - 1) r4ls
                    !r5s = listArray (0,length r5ls - 1) r5ls
         
-{-| The full conversion function. Applies conversion into representation using the 'GWritingSystemPRPLX' provided.
--}
+-- | The full conversion function. Applies conversion into representation using the 'GWritingSystemPRPLX' provided.
 stringToXG :: GWritingSystemPRPLX -> String -> [PhoneticsRepresentationPLX]
 stringToXG xs ys = fromPhoneticRX ts . map fst . stringToXSG xs n $ ys
  where n = maximum . map snd $ xs
diff --git a/Data/Phonetic/Languages/PrepareText.hs b/Data/Phonetic/Languages/PrepareText.hs
--- a/Data/Phonetic/Languages/PrepareText.hs
+++ b/Data/Phonetic/Languages/PrepareText.hs
@@ -47,13 +47,12 @@
 import GHC.Arr
 import Data.List (sort,sortOn)
 
-{-| The lists in the list are sorted in the descending order by the word counts in the inner 'String's. All the 'String's
-in each inner list have the same number of words, and if there is no 'String' with some intermediate number of words (e. g. there
-are not empty 'String's for 4 and 2 words, but there is no one for 3 words 'String's) then such corresponding list is empty, but
-it is, nevertheless, present. Probably the maximum number of words can be no more than 4, and the minimum number can be
-probably no less than 1, but it depends (especially for the maximum). The 'String's in the inner lists must be (unlike the inner
-lists themselves) sorted in the ascending order for the data type to work correctly in the functions of the module.
--}
+-- | The lists in the list are sorted in the descending order by the word counts in the inner 'String's. All the 'String's
+-- in each inner list have the same number of words, and if there is no 'String' with some intermediate number of words (e. g. there
+-- are not empty 'String's for 4 and 2 words, but there is no one for 3 words 'String's) then such corresponding list is empty, but
+-- it is, nevertheless, present. Probably the maximum number of words can be no more than 4, and the minimum number can be
+-- probably no less than 1, but it depends (especially for the maximum). The 'String's in the inner lists must be (unlike the inner
+-- lists themselves) sorted in the ascending order for the data type to work correctly in the functions of the module.
 type Concatenations = [[String]]
 
 -- | Is used to convert a phonetic language text into list of 'String' each of which is ready to be
@@ -70,22 +69,32 @@
 prepareText ysss xs = filter (any (isPLL xs)) . splitLines . map (unwords . complexNWords ysss . words .
   filter (\t -> isAlpha t || isSpC t)) . filter (not . null) . lines
 
-sort2Concat :: [[String]] -> Concatenations
+sort2Concat
+ :: [[String]]
+ -> Concatenations  -- ^ Data used to concatenate the basic grammar preserving words and word sequences to the next word to
+ -- leave the most of the meaning (semantics) of the text available to easy understanding while reading and listening to.
 sort2Concat xsss
  | null xsss = []
  | otherwise = map sort . reverse . sortOn (map (length . words)) $ xsss
 
-toSequentialApp :: Concatenations -> [Concatenations]
+toSequentialApp
+ :: Concatenations -- ^ Data used to concatenate the basic grammar preserving words and word sequences to the next word to
+ -- leave the most of the meaning (semantics) of the text available to easy understanding while reading and listening to.
+ -> [Concatenations]
 toSequentialApp ysss@(xss:xsss)
  | null xss = toSequentialApp xsss
  | otherwise = [xss, replicate (n - 1) []] : toSequentialApp xsss
      where n = length . words . head $ xss
 toSequentialApp _ = []
 
-prepareConcats :: [[String]] -> [Concatenations]
+prepareConcats
+ :: [[String]]
+ -> [Concatenations]
 prepareConcats = toSequentialApp . sort2Concat
 {-# INLINABLE prepareConcats #-}
 
+{-| Applies the full complex words concatenations (opposite to the 'complexWords' that applies only partial concatenations). 
+-}
 complexNWords :: [[String]] -> [String] -> [String]
 complexNWords xsss yss = complexNWords' tssss yss
   where tssss = prepareConcats xsss
@@ -116,6 +125,7 @@
 prepareTextN n ysss xs = filter (any (isPLL xs)) . splitLinesN n . map (unwords . complexNWords ysss . words .
   filter (\t -> isAlpha t || isSpC t)) . filter (not . null) . lines
 
+-- | A predicate to check whether the given character is one of the \"\' \\x2019\\x02BC-\".
 isSpC :: Char -> Bool
 isSpC x = x == '\'' || x == ' ' || x == '\x2019' || x == '\x02BC' || x == '-'
 {-# INLINE isSpC #-}
diff --git a/Data/Phonetic/Languages/SpecificationsRead.hs b/Data/Phonetic/Languages/SpecificationsRead.hs
--- a/Data/Phonetic/Languages/SpecificationsRead.hs
+++ b/Data/Phonetic/Languages/SpecificationsRead.hs
@@ -5,8 +5,7 @@
 -- Stability   :  Experimental
 -- Maintainer  :  olexandr543@yahoo.com
 --
-{-| Provides functions to read data specifications for other modules from textual files.
--}
+--  Provides functions to read data specifications for other modules from textual files.
 
 module Data.Phonetic.Languages.SpecificationsRead where
 
@@ -23,12 +22,20 @@
 charLine :: Char -> String -> Bool
 charLine c = (== [c]) . take 1
 
-groupBetweenChars :: Char -> [String] -> [[String]]
+groupBetweenChars
+ :: Char  -- ^ A delimiter (can be used probably multiple times) used between different parts of the data.
+ -> [String] -- ^ A list of 'String' that is partitioned using the 'String' starting with the delimiter.
+ -> [[String]]
 groupBetweenChars c [] = []
 groupBetweenChars c xs = css : groupBetweenChars c (dropWhile (charLine c) dss)
   where (css,dss) = span (charLine c) xs
 
-getGWritingSystem :: Char -> String -> GWritingSystemPRPLX
+{-| An example of the needed data structure to be read correctly is in the file gwrsysExample.txt in the source tarball. 
+-}
+getGWritingSystem
+  :: Char -- ^ A delimiter (cab be used probably multiple times) between different parts of the data file. Usually, a tilda sign \'~\'.
+  -> String -- ^ Actually the 'String' that is read into the result. 
+  -> GWritingSystemPRPLX -- ^ The data is used to obtain the phonetic language representation of the text.
 getGWritingSystem c xs = map ((\(t1,t2) -> (sort . map (\kt -> fromJust (readPEMaybe kt::Maybe PhoneticsRepresentationPLX)) $ t2,
          read (concat t1)::Int8)) . splitAt 1) . groupBetweenChars c . lines $ xs
 
diff --git a/Data/Phonetic/Languages/Syllables.hs b/Data/Phonetic/Languages/Syllables.hs
--- a/Data/Phonetic/Languages/Syllables.hs
+++ b/Data/Phonetic/Languages/Syllables.hs
@@ -72,7 +72,9 @@
 
 data PRS = SylS {
   charS :: !Char, -- ^ Phonetic languages phenomenon representation. Usually, a phoneme, but it can be otherwise something different.
-  phoneType :: !PhoneticType -- ^ Some encoded type.
+  phoneType :: !PhoneticType -- ^ Some encoded type. For the vowels it has reserved value of 'P' 0, for the sonorous consonants - 'P' 1 and 'P' 2,
+  -- for the voiced consonants - 'P' 3 and 'P' 4, for the voiceless consonants - 'P' 5 and 'P' 6. Nevertheless, it is possible to redefine the data by rewriting the
+  -- respective parts of the code here.
 } deriving ( Eq, Read )
 
 instance Ord PRS where
@@ -92,13 +94,11 @@
 fromPhoneticType :: PhoneticType -> Int
 fromPhoneticType (P x) = fromEnum x
 
-{-| The 'Array' 'Int' must be sorted in the ascending order to be used in the module correctly.
--}
+-- | The 'Array' 'Int' must be sorted in the ascending order to be used in the module correctly.
 type CharPhoneticClassification = Array Int PRS
 
-{-| The 'String' of converted phonetic language representation 'Char' data is converted to this type to apply syllable
-segmentation or other transformations.
--}
+-- | The 'String' of converted phonetic language representation 'Char' data is converted to this type to apply syllable
+-- segmentation or other transformations.
 type StringRepresentation = [PRS]
 
 -- | Is somewhat rewritten from the 'CaseBi.Arr.gBF3' function (not exported) from the @mmsyn2-array@ package.
@@ -202,20 +202,19 @@
            _ -> Nothing
         _ -> Nothing
 
-{-| We can think of 'SegmentationPredFunction' in terms of @f ('SI' fN pN) ks [x_{1},x_{2},...,x_{i},...,x_{fN}]@. Comparing with
-'divCnsnts' from the @ukrainian-phonetics-basics-array@ we can postulate that it consists of the following logical terms in
-the symbolic form:
-
-1) 'phoneType' x_{i} \`'elem'\` (X{...} = 'map' 'P' ['Int8'])
-
-2) 'notEqC' ks x_{i} x_{j} (j /= i)
-
-combined with the standard logic Boolean operations of '(&&)', '(||)' and 'not'. Further, the 'not' can be transformed into the
-positive (affirmative) form using the notion of the universal set for the task. This transformation needs that the similar
-phonetic phenomenae (e. g. the double sounds -- the prolonged ones) belong to the one syllable and not to the different ones
-(so they are not related to different syllables, but just to the one and the same). Since such assumption has been used,
-we can further represent the function by the following data type and operations with it, see 'SegmentationPredFData'.
--}
+-- | We can think of 'SegmentationPredFunction' in terms of @f ('SI' fN pN) ks [x_{1},x_{2},...,x_{i},...,x_{fN}]@. Comparing with
+-- 'divCnsnts' from the @ukrainian-phonetics-basics-array@ we can postulate that it consists of the following logical terms in
+-- the symbolic form:
+-- 
+-- 1) 'phoneType' x_{i} \`'elem'\` (X{...} = 'map' 'P' ['Int8'])
+-- 
+-- 2) 'notEqC' ks x_{i} x_{j} (j /= i)
+-- 
+-- combined with the standard logic Boolean operations of '(&&)', '(||)' and 'not'. Further, the 'not' can be transformed into the
+-- positive (affirmative) form using the notion of the universal set for the task. This transformation needs that the similar
+-- phonetic phenomenae (e. g. the double sounds -- the prolonged ones) belong to the one syllable and not to the different ones
+-- (so they are not related to different syllables, but just to the one and the same). Since such assumption has been used,
+-- we can further represent the function by the following data type and operations with it, see 'SegmentationPredFData'.
 data SegmentationPredFunction = PF (SegmentationInfo1 -> [(Char, Char)] -> [PRS] -> Bool)
 
 data SegmentationPredFData a b = L Int [Int] (Array Int a) | NEC Int Int (Array Int a) [b] | C (SegmentationPredFData a b) (SegmentationPredFData a b) |
@@ -263,9 +262,8 @@
   -- The length of the list must be equal to the ('fromEnum' . 'predicateN' . 'infoS') value.
 }  
 
-{-| List of the 'SegmentationRules1' sorted in the descending order by the 'fieldN' 'SegmentationInfo1' data and where the
-length of all the 'SegmentationPredFunction' lists of 'PRS' are equal to the 'fieldN' 'SegmentationInfo1' data by definition.
--}
+-- | List of the 'SegmentationRules1' sorted in the descending order by the 'fieldN' 'SegmentationInfo1' data and where the
+-- length of all the 'SegmentationPredFunction' lists of 'PRS' are equal to the 'fieldN' 'SegmentationInfo1' data by definition.
 type SegmentRulesG = [SegmentationRules1]
 
 -- | Function 'divCnsnts' is used to divide groups of consonants into two-elements lists that later are made belonging to
@@ -273,13 +271,21 @@
 -- The example phonetical information for the proper performance in Ukrainian can be found from the:
 -- https://msn.khnu.km.ua/pluginfile.php/302375/mod_resource/content/1/%D0%9B.3.%D0%86%D0%86.%20%D0%A1%D0%BA%D0%BB%D0%B0%D0%B4.%D0%9D%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D1%81.pdf
 -- The example of the 'divCnsnts' can be found at: https://hackage.haskell.org/package/ukrainian-phonetics-basic-array-0.1.2.0/docs/src/Languages.Phonetic.Ukrainian.Syllable.Arr.html#divCnsnts
-divCnsnts :: [(Char,Char)] -> SegmentRulesG -> [PRS] -> DListFunctionResult
+divCnsnts
+ :: [(Char,Char)] -- ^ The pairs of the 'Char' that corresponds to the similar phonetic languages consonant phenomenon (e. g. allophones). Must be sorted in the ascending order to be used correctly. 
+ -> SegmentRulesG
+ -> [PRS]
+ -> DListFunctionResult
 divCnsnts ks gs xs@(_:_) = toDLR left xs
   where !js = fromJust . L.find ((== length xs) . fromEnum . fieldN . infoS) $ gs -- js :: SegmentationRules1
         !left = resF . fromJust . L.find (eval2Bool . predF). lineFs $ js
 divCnsnts _ _ [] = (id,id)
 
-reSyllableCntnts :: [(Char,Char)] -> SegmentRulesG -> [[PRS]] -> [[PRS]]
+reSyllableCntnts
+ :: [(Char,Char)] -- ^ The pairs of the 'Char' that corresponds to the similar phonetic languages consonant phenomenon (e. g. allophones). Must be sorted in the ascending order to be used correctly. 
+ -> SegmentRulesG
+ -> [[PRS]]
+ -> [[PRS]]
 reSyllableCntnts ks gs (xs:ys:zs:xss)
   | (/= P 0) . phoneType . last $ ys = fst (divCnsnts ks gs ys) xs:reSyllableCntnts ks gs (snd (divCnsnts ks gs ys) zs:xss)
   | otherwise = reSyllableCntnts ks gs ((xs `mappend` ys):zs:xss)
@@ -291,9 +297,12 @@
   where h3 us = [ys `mappend` take 1 zs] `mappend` (L.groupBy (\x y -> phoneType x == P 0 && phoneType y /= P 0) . drop 1 $ zs)
                   where (ys,zs) = span (\t -> phoneType t /= P 0) us
 
+{-| The function actually creates syllables using the provided data. Each resulting inner-most list is a phonetic language representation
+of the syllable according to the rules provided.
+-}
 createSyllablesPL
-  :: GWritingSystemPRPLX
-  -> [(Char,Char)]
+  :: GWritingSystemPRPLX -- ^ Data used to obtain the phonetic language representation of the text.
+  -> [(Char,Char)] -- ^ The pairs of the 'Char' that corresponds to the similar phonetic languages consonant phenomenon (e. g. allophones). Must be sorted in the ascending order to be used correctly. 
   -> CharPhoneticClassification
   -> SegmentRulesG
   -> String -- ^ Corresponds to the \'0\' symbol delimiter in the @ukrainian-phonetics-basic-array@ package.
diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -5,28 +5,27 @@
 -- Stability   :  Experimental
 -- Maintainer  :  olexandr543@yahoo.com
 --
-{-| Can be used to calculate the durations of the approximations of the phonemes
-using some prepared text with its correct (at least mostly) pronunciation.
-The prepared text is located in the same directory and contains lines -the
-phonetic language word and its duration in seconds separated with whitespace.
-The library is intended to use the functionality of the :
-
-1) R programming language https://www.r-project.org/
-
-2) Rglpk library https://cran.r-project.org/web/packages/Rglpk/index.html
-
-3) GNU GLPK library https://www.gnu.org/software/glpk/glpk.html
-
-For more information, please, see the documentation for them.
-
-For the model correctness the js here refers to sorted list of the 'Char' representations of the phonetic language phenomenae.
-
-The length of the 'String' js is refered to as 'lng'::'Int'. The number of 'pairs'' function elements in the lists is refered to
-as 'nn'::'Int'. The number of constraints is refered here as 'nc'::'Int'. @nc == nn `quot` 2@.
-
-Is generalized from the Numeric.Wrapper.R.GLPK.Phonetics.Ukrainian.Durations module from
-the @r-glpk-phonetic-languages-ukrainian-durations@ package.
--}
+-- Can be used to calculate the durations of the approximations of the phonemes
+-- using some prepared text with its correct (at least mostly) pronunciation.
+-- The prepared text is located in the same directory and contains lines -the
+-- phonetic language word and its duration in seconds separated with whitespace.
+-- The library is intended to use the functionality of the :
+-- 
+-- 1) R programming language https://www.r-project.org/
+-- 
+-- 2) Rglpk library https://cran.r-project.org/web/packages/Rglpk/index.html
+-- 
+-- 3) GNU GLPK library https://www.gnu.org/software/glpk/glpk.html
+-- 
+-- For more information, please, see the documentation for them.
+-- 
+-- For the model correctness the js here refers to sorted list of the 'Char' representations of the phonetic language phenomenae.
+-- 
+-- The length of the 'String' js is refered to as 'lng'::'Int'. The number of 'pairs'' function elements in the lists is refered to
+-- as 'nn'::'Int'. The number of constraints is refered here as 'nc'::'Int'. @nc == nn `quot` 2@.
+-- 
+-- Is generalized from the Numeric.Wrapper.R.GLPK.Phonetics.Ukrainian.Durations module from
+-- the @r-glpk-phonetic-languages-ukrainian-durations@ package.
 
 module Main where
 
diff --git a/Numeric/Wrapper/R/GLPK/Phonetic/Languages/Durations.hs b/Numeric/Wrapper/R/GLPK/Phonetic/Languages/Durations.hs
--- a/Numeric/Wrapper/R/GLPK/Phonetic/Languages/Durations.hs
+++ b/Numeric/Wrapper/R/GLPK/Phonetic/Languages/Durations.hs
@@ -1,36 +1,34 @@
 {-# LANGUAGE CPP #-}
 {-# OPTIONS_HADDOCK show-extensions #-}
 
-{-|
-Module      :  Numeric.Wrapper.R.GLPK.Phonetic.Languages.Durations
-Copyright   :  (c) OleksandrZhabenko 2020-2021
-License     :  MIT
-Stability   :  Experimental
-Maintainer  :  olexandr543@yahoo.com
+-- |
+-- Module      :  Numeric.Wrapper.R.GLPK.Phonetic.Languages.Durations
+-- Copyright   :  (c) OleksandrZhabenko 2020-2021
+-- License     :  MIT
+-- Stability   :  Experimental
+-- Maintainer  :  olexandr543@yahoo.com
 --
-Can be used to calculate the durations of the approximations of the phonemes
-using some prepared text with its correct (at least mostly) pronunciation.
-The prepared text is located in the same directory and contains lines -the
-phonetic language word and its duration in seconds separated with whitespace.
-The library is intended to use the functionality of the :
-
-1) R programming language https://www.r-project.org/
-
-2) Rglpk library https://cran.r-project.org/web/packages/Rglpk/index.html
-
-3) GNU GLPK library https://www.gnu.org/software/glpk/glpk.html
-
-For more information, please, see the documentation for them.
-
-For the model correctness the js here refers to sorted list of the 'Char' representations of the phonetic language phenomenae.
-
-The length of the 'String' js is refered to as 'lng'::'Int'. The number of 'pairs'' function elements in the lists is refered to
-as 'nn'::'Int'. The number of constraints is refered here as 'nc'::'Int'. @nc == nn `quot` 2@.
-
-Is generalized from the Numeric.Wrapper.R.GLPK.Phonetics.Ukrainian.Durations module from
-the @r-glpk-phonetic-languages-ukrainian-durations@ package.
--}
-
+-- Can be used to calculate the durations of the approximations of the phonemes
+-- using some prepared text with its correct (at least mostly) pronunciation.
+-- The prepared text is located in the same directory and contains lines -the
+-- phonetic language word and its duration in seconds separated with whitespace.
+-- The library is intended to use the functionality of the :
+-- 
+-- 1) R programming language https://www.r-project.org/
+-- 
+-- 2) Rglpk library https://cran.r-project.org/web/packages/Rglpk/index.html
+-- 
+-- 3) GNU GLPK library https://www.gnu.org/software/glpk/glpk.html
+-- 
+-- For more information, please, see the documentation for them.
+-- 
+-- For the model correctness the js here refers to sorted list of the 'Char' representations of the phonetic language phenomenae.
+-- 
+-- The length of the 'String' js is refered to as 'lng'::'Int'. The number of 'pairs'' function elements in the lists is refered to
+-- as 'nn'::'Int'. The number of constraints is refered here as 'nc'::'Int'. @nc == nn `quot` 2@.
+-- 
+-- Is generalized from the Numeric.Wrapper.R.GLPK.Phonetics.Ukrainian.Durations module from
+-- the @r-glpk-phonetic-languages-ukrainian-durations@ package.
 
 module Numeric.Wrapper.R.GLPK.Phonetic.Languages.Durations where
 
@@ -77,12 +75,11 @@
 pairwiseComparings :: Char -> PairwiseC -> [Int] -> [Int]
 pairwiseComparings x y zs = zs `mappend` pairs' y x
 
-{-| A way to encode the pairs of the phonetic language representations that give some additional associations, connections
-between elements, usually being caused by some similarity or commonality of the pronunciation act for the phenomenae
-corresponding to these elements. 
-All ['Int'] must be equal in 'length' throughout the same namespace and this length is given as 'Int' argument in
-the 'PairwisePL'. This 'Int' parameter is @nn@.
--}
+-- | A way to encode the pairs of the phonetic language representations that give some additional associations, connections
+-- between elements, usually being caused by some similarity or commonality of the pronunciation act for the phenomenae
+-- corresponding to these elements. 
+-- All ['Int'] must be equal in 'length' throughout the same namespace and this length is given as 'Int' argument in
+-- the 'PairwisePL'. This 'Int' parameter is @nn@.
 data PairwisePL = PW Char Int [Int] deriving (Eq, Read, Show)
 
 lengthPW :: PairwisePL -> Int
@@ -134,8 +131,7 @@
       ")", newLineEnding]
  | otherwise = error "Numeric.Wrapper.R.GLPK.Phonetic.Languages.Durations.objLine: Not defined for the short argument. "
 
-{-| A way to reorder the coefficients of the input and the elements representations related to each other.
--}
+-- | A way to reorder the coefficients of the input and the elements representations related to each other.
 objCoeffsNew
   :: Int -- ^ The length of the 'String' js that is a sorted list of the phonetic language representations as 'Char's that
   -- appears in the file with test words and their spoken durations.
@@ -221,7 +217,7 @@
  -> [Double]
 maxDurations lng mx = replicate lng mx
 
--- | A variant of the more general 'answer2' where the randomization parameters are used to produce every time being run
+-- | A variant of the more general 'answer2' where the predefined randomization parameters are used to produce every time being run
 -- a new result (e. g. this allows to model accents).
 answer
  :: Int -- ^ The length of the 'String' js that is a sorted list of the phonetic language representations as 'Char's that
@@ -289,4 +285,4 @@
 
 -- read ("SylS {charS=\'k\', phoneType=P 6")::PRS
 
--- pldUkr 0.01 0.01 0.1 0.2 words.txt 1.8 -1 0.01 0.01 2.5 2.5 2.5 2.5 2.5 2.5
+
diff --git a/phonetic-languages-phonetics-basics.cabal b/phonetic-languages-phonetics-basics.cabal
--- a/phonetic-languages-phonetics-basics.cabal
+++ b/phonetic-languages-phonetics-basics.cabal
@@ -3,7 +3,7 @@
 -- http://haskell.org/cabal/users-guide/
 
 name:                phonetic-languages-phonetics-basics
-version:             0.6.1.0
+version:             0.6.2.0
 synopsis:            A library for working with generalized phonetic languages usage.
 description:         There already exists a Ukrainian implementation for the phonetic languages approach published at: https://hackage.haskell.org/package/phonetic-languages-simplified-examples-array. It is optimized for the Ukrainian only and needs to be rewritten for every new language mostly from scratch using it as a template. To avoid this boilerplate, this one is provided. It can be used for different languages and even for music or other fields. Now it combines the functionality of the @r-glpk-phonetic-languages-ukrainian-durations@ and @phonetic-languages-ukrainian-array@ and some dependencies of the mentioned one.
 homepage:            https://hackage.haskell.org/package/phonetic-languages-phonetics-basics
