Index: doc/bibliography/pl.bib
===================================================================
--- doc/bibliography/pl.bib	(revision 71b5aad58696e7080180f82a1dd2c772721ae91d)
+++ doc/bibliography/pl.bib	(revision 221c542ecca6f9355f2fbc91025e06aa2950e8d2)
@@ -219,5 +219,5 @@
     title	= {Actor Benchmarks},
     author	= {Peter A. Buhr and Colby A. Parsons},
-    howpublished= {\href{https://github.com/pabuhr/ActorExperiments}{https://\-github.com/\-pabuhr/\-ActorExperiments}},
+    howpublished= {\url{https://github.com/pabuhr/ActorExperiments}},
     year	= 2022,
 }
@@ -296,5 +296,5 @@
     contributer	= {pabuhr@plg},
     author	= {Ada16},
-    title	= {Ada Reference Manual  ISO/IEC 8652:2012(E) with COR.1:2016},
+    title	= {Ada Reference Manual ISO/IEC 8652:2012(E) with COR.1:2016},
     edition	= {3rd with Technical Corrigendum 1 for Ada 2012},
     organization= {AXE Consultants},
@@ -416,5 +416,5 @@
     address	= {Waterloo, Ontario, Canada, N2L 3G1},
     optnote	= {\textsf{http://uwspace.uwaterloo.ca/\-bitstream/10012/\-5751\-/1/Krischer\_Roy.pdf}},
-    note	= {\href{http://uwspace.uwaterloo.ca/bitstream/10012/5751/1/Krischer_Roy.pdf}{http://uwspace.uwaterloo.ca/\-bitstream/10012/\-5751\-/1/Krischer\_Roy.pdf}},
+    note	= {\url{http://uwspace.uwaterloo.ca/bitstream/10012/5751/1/Krischer_Roy.pdf}},
 }
 
@@ -430,5 +430,5 @@
     number	= 5,
     pages	= {1005-1042},
-    optnote	= {\href{https://onlinelibrary.wiley.com/doi/10.1002/spe.2925}{https://\-onlinelibrary.wiley.com/\-doi/\-10.1002/\-spe.2925}},
+    optnote	= {\url{https://onlinelibrary.wiley.com/doi/10.1002/spe.2925}},
 }
 
@@ -761,5 +761,5 @@
     pages	= {145-160},
     publisher	= {{USENIX} Association},
-    note	= {\href{https://www.usenix.org/conference/osdi18/presentation/qin}{https://\-www.usenix.org/\-conference/\-osdi18/\-presentation/\-qin}},
+    note	= {\url{https://www.usenix.org/conference/osdi18/presentation/qin}},
 }
 
@@ -839,5 +839,5 @@
     title	= {Async Await},
     author	= {{WikipediA}},
-    howpublished= {\href{https://en.wikipedia.org/wiki/Async/await}{https://\-en.wikipedia.org/\-wiki/\-Async/\-await}},
+    howpublished= {\url{https://en.wikipedia.org/wiki/Async/await}},
     year	= 2022,
 }
@@ -928,5 +928,5 @@
     institution	= {Carnegie Mellon University},
     address	= {California Institute of Technology, Pasadena, CA, USA},
-    note	= {\href{http://www.cs.cmu.edu/~acw/15740/paper.pdf}{http://\-www.cs.cmu.edu/\-$\sim$acw/\-15740/\-paper.pdf}, Accessed May 2014},
+    note	= {\url{http://www.cs.cmu.edu/~acw/15740/paper.pdf}},
     year	= 2009,
 }
@@ -1034,6 +1034,5 @@
     title	= {Boost Coroutine Library},
     year	= 2015,
-    howpublished= {\href{http://www.boost.org/doc/libs/1_61_0/libs/coroutine/doc/html/index.html}
-		  {http://www.boost.org/\-doc/\-libs/1\_61\_0/\-libs/\-coroutine/\-doc/\-html/\-index.html}},
+    howpublished= {\url{http://www.boost.org/doc/libs/1_61_0/libs/coroutine/doc/html/index.html}},
 }
 
@@ -1044,6 +1043,5 @@
     title	= {Boost Thread Library},
     year	= 2015,
-    howpublished= {\href{https://www.boost.org/doc/libs/1_61_0/doc/html/thread.html}
-		  {https://\-www.boost.org/\-doc/\-libs/\-1\_61\_0/\-doc/\-html/\-thread.html}},
+    howpublished= {\url{https://www.boost.org/doc/libs/1_61_0/doc/html/thread.html}},
 }
 
@@ -1056,5 +1054,5 @@
     month	= oct,
     type	= {Diplomarbeit},
-    note	= {\href{https://plg.uwaterloo.ca/~usystem/theses/KrischerThesis.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-theses/\-KrischerThesis.pdf}},
+    note	= {\url{https://plg.uwaterloo.ca/~usystem/theses/KrischerThesis.pdf}},
 }
 
@@ -1148,5 +1146,5 @@
     address	= {Geneva, Switzerland},
     year	= 1999,
-    note	= {\href{https://webstore.ansi.org/Standards/INCITS/INCITSISOIEC98991999R2005}{https://webstore.ansi.org/\-Standards/\-INCITS/\-INCITSISOIEC98991999R2005}},
+    note	= {\url{https://webstore.ansi.org/Standards/INCITS/INCITSISOIEC98991999R2005}},
 }
 
@@ -1160,5 +1158,5 @@
     address	= {Geneva, Switzerland},
     year	= 2012,
-    note	= {\href{https://www.iso.org/standard/57853.html}{https://\-www.iso.org/\-standard/\-57853.html}},
+    note	= {\url{https://www.iso.org/standard/57853.html}},
 }
 
@@ -1171,5 +1169,5 @@
     address	= {Geneva, Switzerland},
     year	= 2015,
-    note	= {\href{https://www.iso.org/standard/64031.html}{https://\-www.iso.org/\-standard/\-64031.html}},
+    note	= {\url{https://www.iso.org/standard/64031.html}},
 }
 
@@ -1198,5 +1196,5 @@
     month	= aug,
     year	= {2020},
-    note	= {\href{https://cforall.uwaterloo.ca/doc/Fangren_Yu_Report_S20.pdf}{https://\-cforall.uwaterloo.ca/\-doc/\-Fangren\_Yu\_Report\_S20.pdf}},
+    note	= {\url{https://cforall.uwaterloo.ca/doc/Fangren_Yu_Report_S20.pdf}},
 }
 
@@ -1212,5 +1210,5 @@
     year	= 2018,
     pages	= {2111-2146},
-    optnote	= {\href{http://dx.doi.org/10.1002/spe.2624}{http://\-dx.doi.org/\-10.1002/\-spe.2624}},
+    optnote	= {\url{http://dx.doi.org/10.1002/spe.2624}},
 }
 
@@ -1219,5 +1217,5 @@
     key		= {Cforall Benchmarks},
     author	= {{\textsf{C}{$\mathbf{\forall}$} Benchmarks}},
-    howpublished= {\href{https://github.com/cforall/ConcurrentBenchmarks_SPE20}{https://\-github.com/\-cforall/\-ConcurrentBenchmarks\_SPE20}},
+    howpublished= {\url{https://github.com/cforall/ConcurrentBenchmarks_SPE20}},
 }
 
@@ -1226,5 +1224,5 @@
     key		= {Cforall},
     author	= {{\textsf{C}{$\mathbf{\forall}$} Features}},
-    howpublished= {\href{https://plg.uwaterloo.ca/~cforall/features}{https://\-plg.uwaterloo.ca/\-$\sim$cforall/\-features}},
+    howpublished= {\url{https://plg.uwaterloo.ca/~cforall/features}},
 }
 
@@ -1245,5 +1243,5 @@
     title	= {\textsf{C}$\mathbf{\forall}$ Stack Evaluation Programs},
     year	= 2018,
-    howpublished= {\href{https://cforall.uwaterloo.ca/CFAStackEvaluation.zip}{https://cforall.uwaterloo.ca/\-CFAStackEvaluation.zip}},
+    howpublished= {\url{https://cforall.uwaterloo.ca/CFAStackEvaluation.zip}},
 }
 
@@ -1256,5 +1254,5 @@
     year	= 2004,
     address	= {Waterloo, Ontario, Canada, N2L 3G1},
-    note	= {\href{http://plg.uwaterloo.ca/theses/EstevesThesis.pdf}{http://\-plg.uwaterloo.ca/\-theses/\-EstevesThesis.pdf}},
+    note	= {\url{http://plg.uwaterloo.ca/theses/EstevesThesis.pdf}},
 }
 
@@ -1266,5 +1264,5 @@
     year	= 2019,
     optaddress	= {Waterloo, Ontario, Canada, N2L 3G1},
-    note	= {\href{https://uwspace.uwaterloo.ca/handle/10012/14584}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/\-14584}},
+    note	= {\url{https://uwspace.uwaterloo.ca/handle/10012/14584}},
 }
 
@@ -1423,5 +1421,5 @@
     month	= oct,
     year	= 2001,
-    note	= {\href{http://plg.uwaterloo.ca/~cforall/cfa.ps}{http://\-plg.uwaterloo.ca/\-$\sim$cforall/\-cfa.ps}},
+    note	= {\url{http://plg.uwaterloo.ca/~cforall/cfa.ps}},
 }
 
@@ -1461,5 +1459,5 @@
     contributer	= {a3moss@uwaterloo.ca},
     title	= {Clang: a {C} language family frontend for {LLVM}},
-    howpublished= {\href{https://clang.llvm.org/}{https://\-clang.llvm.org/}}
+    howpublished= {\url{https://clang.llvm.org/}}
 }
 
@@ -1527,5 +1525,5 @@
     address	= {Geneva, Switzerland},
     year	= 2014,
-    note	= {\href{https://www.iso.org/standard/51416.html}{https://\-www.iso.org/\-standard/\-51416.html}},
+    note	= {\url{https://www.iso.org/standard/51416.html}},
 }
 
@@ -1668,5 +1666,5 @@
     publisher	= {Prentice-Hall},
     address	= {Upper Saddle River, NJ, USA},
-    note	= {\href{http://www.usingcsp.com/cspbook.pdf}{http://\-www.usingcsp.com/\-cspbook.pdf}},
+    note	= {\url{http://www.usingcsp.com/cspbook.pdf}},
 }
 
@@ -1733,5 +1731,5 @@
     month	= sep,
     address	= {Waterloo, Ontario, Canada, N2L 3G1},
-    note	= {\href{http://plg.uwaterloo.ca/theses/MokThesis.pdf}{http://\-plg.uwaterloo.ca/\-theses/\-MokThesis.pdf}},
+    note	= {\url{http://plg.uwaterloo.ca/theses/MokThesis.pdf}},
 }
 
@@ -1808,5 +1806,5 @@
     author	= {Peter A. Buhr and David Dice and Wim H. Hesselink},
     title	= {concurrent-locking},
-    howpublished= {\href{https://github.com/pabuhr/concurrent-locking}{https://\-github.com/\-pabuhr/\-concurrent-locking}},
+    howpublished= {\url{https://github.com/pabuhr/concurrent-locking}},
 }
 
@@ -1958,5 +1956,5 @@
     year	= 2015,
     optaddress	= {Waterloo, Ontario, Canada, N2L 3G1},
-    note	= {\href{https://uwspace.uwaterloo.ca/handle/10012/10013}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/\-10013}},
+    note	= {\url{https://uwspace.uwaterloo.ca/handle/10012/10013}},
 }
 
@@ -2098,6 +2096,5 @@
     month	= oct,
     year	= 2010,
-    howpublished= {\href{https://www.airs.com/blog/archives/428}
-		  {https://www.airs.com/\-blog/\-archives/\-428}},
+    howpublished= {\url{https://www.airs.com/blog/archives/428}},
 }
 
@@ -2110,5 +2107,5 @@
     year	= 1992,
     address	= {Waterloo, Ontario, Canada, N2L 3G1},
-    note	= {\href{http://plg.uwaterloo.ca/theses/DitchfieldThesis.pdf}{http://\-plg.uwaterloo.ca/\-theses/\-DitchfieldThesis.pdf}}
+    note	= {\url{http://plg.uwaterloo.ca/theses/DitchfieldThesis.pdf}}
 }
 
@@ -2180,5 +2177,5 @@
     author	= {Glen Ditchfield},
     title	= {Conversions for \textsf{C}$\mathbf{\forall}$},
-    note	= {\href{http://plg.uwaterloo.ca/~cforall/Conversions/index.html}{http://\-plg.uwaterloo.ca/\-$\sim$cforall/\-Conversions/\-index.html}},
+    note	= {\url{http://plg.uwaterloo.ca/~cforall/Conversions/index.html}},
     month	= {Nov},
     year	= {2002},
@@ -2217,6 +2214,5 @@
     year	= 2019,
     month	= feb,
-    howpublished= {\href{http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0912r5.html}
-		  {http://\-www.open-std.org/\-jtc1/\-sc22/\-wg21/\-docs/\-papers/\-2019/p0912r5.html}},
+    howpublished= {\url{http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0912r5.html}},
 }
 
@@ -2229,5 +2225,5 @@
     month	= jun,
     year	= 2022,
-    note	= {\href{https://en.cppreference.com/w/cpp/language/coroutines}{https://\-en.cppreference.com/\-w/\-cpp/\-language/\-coroutines}},
+    note	= {\url{https://en.cppreference.com/w/cpp/language/coroutines}},
 }
 
@@ -2283,5 +2279,5 @@
     title	= {CS343},
     year	= 2018,
-    howpublished= {\href{https://www.student.cs.uwaterloo.ca/~cs343}{https://\-www.student.cs.uwaterloo.ca/\-$\sim$cs343}},
+    howpublished= {\url{https://www.student.cs.uwaterloo.ca/~cs343}},
 }
 
@@ -2309,5 +2305,5 @@
     address	= {Vienna Virginia, U.S.A.},
     year	= 2016,
-    note	= {\href{http://dlang.org/spec/spec.html}{http://\-dlang.org/\-spec/\-spec.html}},
+    note	= {\url{http://dlang.org/spec/spec.html}},
 }
 
@@ -2786,5 +2782,5 @@
     author	= {Martin Odersky},
     title	= {Dotty},
-    howpublished= {\href{https://github.com/lampepfl/dotty}{https://\-github.com/\-lampepfl/\-dotty}},
+    howpublished= {\url{https://github.com/lampepfl/dotty}},
     note	= {Acessed: 2019-02-22}
 }
@@ -2797,5 +2793,5 @@
     month	= nov,
     year	= 1983,
-    note	= {\href{http://www.lysator.liu.se/c/duffs-device.html}{http://\-www.lysator.liu.se/\-c/\-duffs-device.html}}
+    note	= {\url{http://www.lysator.liu.se/c/duffs-device.html}}
 }
 
@@ -3033,6 +3029,5 @@
     month	= aug,
     note	= {WikipediA},
-    howpublished= {\href{http://www.akkadia.org/drepper/tls.pdf}
-		  {http://\-www.akkadia.org/\-drepper/\-tls.pdf}},
+    howpublished= {\url{http://www.akkadia.org/drepper/tls.pdf}},
 }
 
@@ -3045,6 +3040,5 @@
     month	= may,
     note	= {Electronic Engineering Times},
-    howpublished= {\href{https://www.eetimes.com/author.asp?sectionid=36&doc_id=1287712}
-		  {https://\-www.eetimes.com/\-author.asp?sectionid=\-36&doc_id=1287712}},
+    howpublished= {\url{https://www.eetimes.com/author.asp?sectionid=36&doc_id=1287712}},
 }
 
@@ -3159,5 +3153,5 @@
     month	= sep,
     year	= 2016,
-    note	= {\href{http://erlang.org/doc/pdf/otp-system-documentation.pdf}{http://\-erlang.org/\-doc/\-pdf/\-otp-system-documentation.pdf}},
+    note	= {\url{http://erlang.org/doc/pdf/otp-system-documentation.pdf}},
 }
 
@@ -3482,5 +3476,5 @@
     title	= {Extensions to the {C} Language Family},
     year	= 2014,
-    howpublished= {\href{https://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/C-Extensions.html}{https://\-gcc.gnu.org/\-onlinedocs/\-gcc-4.7.2/\-gcc/\-C\-Extensions.html}},
+    howpublished= {\url{https://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/C-Extensions.html}},
 }
 
@@ -3565,5 +3559,5 @@
     month	= feb,
     publisher	= {John Wiley \& Sons},
-    note	= {\href{https://doi.org/10.1002/cpe.4183}{https://\-doi.org/\-10.1002/\-cpe.4183}}
+    note	= {\url{https://doi.org/10.1002/cpe.4183}}
 }
 
@@ -3587,5 +3581,5 @@
     title	= {Fibers},
     organization= {Microsoft, Windows Development Center},
-    address	= {\href{https://docs.microsoft.com/en-us/windows/desktop/ProcThread/fibers}{https://\-docs.microsoft.com/\-en-us/\-windows/\-desktop/\-ProcThread/\-fibers}},
+    address	= {\url{https://docs.microsoft.com/en-us/windows/desktop/ProcThread/fibers}},
     year	= 2018,
 }
@@ -3609,5 +3603,5 @@
     month	= jan,
     address	= {Waterloo, Ontario, Canada, N2L 3G1},
-    note	= {\href{http://uwspace.uwaterloo.ca/bitstream/10012/3501/1/Thesis.pdf}{http://\-uwspace.uwaterloo.ca/\-bitstream/\-10012/\-3501/\-1/\-Thesis.pdf}},
+    note	= {\url{http://uwspace.uwaterloo.ca/bitstream/10012/3501/1/Thesis.pdf}},
 }
 
@@ -3644,5 +3638,5 @@
     title	= {Facebook Open-source Library},
     organization= {Facebook},
-    address	= {\href{https://github.com/facebook/folly}{https://\-github.com/\-facebook/\-folly}},
+    address	= {\url{https://github.com/facebook/folly}},
     year	= 2018,
 }
@@ -3685,5 +3679,5 @@
     address	= {Geneva, Switzerland},
     year	= 2010,
-    note	= {\href{https://www.iso.org/standard/50459.html}{https://\-www.iso.org/\-standard/\-50459.html}},
+    note	= {\url{https://www.iso.org/standard/50459.html}},
 }
 
@@ -3697,5 +3691,5 @@
     address	= {Geneva, Switzerland},
     year	= 2018,
-    note	= {\href{https://www.iso.org/standard/72320.html}{https://\-www.iso.org/\-standard/\-72320.html}},
+    note	= {\url{https://www.iso.org/standard/72320.html}},
 }
 
@@ -3928,5 +3922,5 @@
     address	= {GNU},
     year	= 2016,
-    note	= {\href{https://gmplib.org}{https://\-gmplib.org}},
+    note	= {\url{https://gmplib.org}},
 }
 
@@ -3939,5 +3933,5 @@
     organization= {Google},
     year	= 2009,
-    note	= {\href{http://golang.org/ref/spec}{http://\-golang.org/\-ref/\-spec}},
+    note	= {\url{http://golang.org/ref/spec}},
 }
 
@@ -4043,5 +4037,5 @@
     edition	= {{S}imon {M}arlow},
     year	= 2010,
-    note	= {\href{https://haskell.org/definition/haskell2010.pdf}{https://\-haskell.org/\-definition/\-haskell2010.pdf}},
+    note	= {\url{https://haskell.org/definition/haskell2010.pdf}},
 }
 
@@ -4118,5 +4112,5 @@
     number	= 12,
     pages	= {2463-2500},
-    note	= {\url{https://onlinelibrary.wiley.com/doi/10.1002/spe.3262},
+    note	= {\url{https://onlinelibrary.wiley.com/doi/10.1002/spe.3262}},
 }
 
@@ -4127,5 +4121,5 @@
     year	= 2019,
     optaddress	= {Waterloo, Ontario, Canada, N2L 3G1},
-    note	= {\href{https://uwspace.uwaterloo.ca/handle/10012/14706}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/\-14706}},
+    note	= {\url{https://uwspace.uwaterloo.ca/handle/10012/14706}},
 }
 
@@ -4186,5 +4180,5 @@
     month	= sep,
     publisher	= {John Wiley \& Sons},
-    note	= {\href{https://doi.org/10.1002/cpe.4475}{https://\-doi.org/\-10.1002/\-cpe.4475}},
+    note	= {\url{https://doi.org/10.1002/cpe.4475}},
 }
 
@@ -4320,5 +4314,5 @@
     year	= 2003,
     optaddress	= {Waterloo, Ontario, Canada, N2L 3G1},
-    note	= {\href{http://plg.uwaterloo.ca/theses/BilsonThesis.pdf}{http://\-plg.uwaterloo.ca/\-theses/\-BilsonThesis.pdf}},
+    note	= {\url{http://plg.uwaterloo.ca/theses/BilsonThesis.pdf}},
 }
 
@@ -4733,5 +4727,5 @@
     title	= {JDK 1.1 for Solaris Developer's Guide},
     publisher	= {Oracle},
-    address	= {\href{https://docs.oracle.com/cd/E19455-01/806-3461/6jck06gqk/index.html#ch2mt-41}{https://\-docs.oracle.com/\-cd/\-E19455-01/\-806-3461/\-6jck06gqk/\-index.html\#ch2mt-41}},
+    address	= {\url{https://docs.oracle.com/cd/E19455-01/806-3461/6jck06gqk/index.html#ch2mt-41}},
     year	= 2010,
 }
@@ -4744,5 +4738,5 @@
     organization= {Oracle},
     year	= 2014,
-    note	= {\href{http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html}{http://docs.oracle.com/\-javase/7/\-docs/\-api/\-java/\-util/\-concurrent/\-package-summary.html}},
+    note	= {\url{http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html}},
 }
 
@@ -4873,6 +4867,5 @@
     title	= {Labels as Values},
     year	= {since gcc-3},
-    howpublished= {\href{https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html}
-		  {https:\-//gcc.gnu.org/\-onlinedocs/\-gcc/\-Labels-as-Values.html}},
+    howpublished= {\url{https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html}},
 }
 
@@ -4931,6 +4924,5 @@
     title	= {libdill Thread Library},
     year	= 2019,
-    howpublished= {\href{http://libdill.org/libdill-2.14.tar.gz}
-		  {http://\-libdill.org/\-libdill-2.14.tar.gz}},
+    howpublished= {\url{http://libdill.org/libdill-2.14.tar.gz}},
 }
 
@@ -4939,5 +4931,5 @@
     author	= {Martin Karsten},
     title	= {{libfibre:~User-Level Threading Runtime}},
-    howpublished= {\href{https://git.uwaterloo.ca/mkarsten/libfibre}{https://\-git.uwaterloo.ca/\-mkarsten/\-libfibre}},
+    howpublished= {\url{https://git.uwaterloo.ca/mkarsten/libfibre}},
     note	= {[Online; accessed 2020-04-15]},
 }
@@ -4962,5 +4954,5 @@
     title	= {{G}o-style concurrency in {C}, Version 1.18},
     organization= {libmill},
-    address	= {\href{http://libmill.org/documentation.html}{http://\-libmill.org/\-documentation.html}},
+    address	= {\url{http://libmill.org/documentation.html}},
     month	= jan,
     year	= 2017,
@@ -5038,6 +5030,5 @@
     month	= jan,
     year	= 2017,
-    howpublished= {\href{http://smallcultfollowing.com/babysteps/blog/2017/01/26/lowering-rust-traits-to-logic/}
-		  {http://smallcultfollowing.com/\-babysteps/\-blog/\-2017/\-01/\-26/\-lowering-rust-traits-to-logic/}},
+    howpublished= {\url{http://smallcultfollowing.com/babysteps/blog/2017/01/26/lowering-rust-traits-to-logic/}},
     optnote	= {Accessed: 2019-01},
 }
@@ -5063,5 +5054,5 @@
     title	= {Lua 5.4 Reference Manual},
     organization= {Pontifical Catholic University},
-    address	= {\href{https://www.lua.org/manual/5.4}{https://\-www.lua.org/\-manual/\-5.4}},
+    address	= {\url{https://www.lua.org/manual/5.4}},
     year	= 2020,
 }
@@ -5084,6 +5075,5 @@
     title	= {Making arbitrarily-large binaries from fixed-size {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} code},
     year	= 2016,
-    howpublished= {\href{http://blog.reverberate.org/2016/01/making-arbitrarily-large-binaries-from.html}
-		  {http://blog.reverberate.org/\-2016/\-01/\-making-arbitrarily-large-binaries-from.html}},
+    howpublished= {\url{http://blog.reverberate.org/2016/01/making-arbitrarily-large-binaries-from.html}},
     optnote	= {Accessed: 2016-09},
 }
@@ -5118,6 +5108,5 @@
     title	= {Marcel Thread Library},
     year	= 2011,
-    howpublished= {\href{https://gforge.inria.fr/frs/download.php/file/28643/marcel-2.99.3.tar.gz}
-		  {https://\-gforge.inria.fr/\-frs/\-download.php/\-file/\-28643/\-marcel-2.99.3.tar.gz}},
+    howpublished= {\url{https://gforge.inria.fr/frs/download.php/file/28643/marcel-2.99.3.tar.gz}},
 }
 
@@ -5264,5 +5253,5 @@
     month	= sep,
     year	= 1994,
-    note	= {\href{https://plg.uwaterloo.ca/~usystem/pub/uSystem/uSystem.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-pub/\-uSystem/\-uSystem.pdf}},
+    note	= {\url{https://plg.uwaterloo.ca/~usystem/pub/uSystem/uSystem.pdf}},
 }
 
@@ -5463,5 +5452,5 @@
     month	= jun,
     year	= 2015,
-    note	= {\href{http://www.mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf}{http://www.mpi-forum.org/\-docs/\-mpi-3.1/\-mpi31-report.pdf}},
+    note	= {\url{http://www.mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf}},
 }
 
@@ -5613,5 +5602,5 @@
     year	= 1980,
     pages	= {833-842},
-    note	= {\href{http://groups.csail.mit.edu/tds/papers/Lynch/allertonconf.pdf}{http://\-groups.csail.mit.edu/\-tds/\-papers/\-Lynch/\-allertonconf.pdf} [Accessed on March 2014]},
+    note	= {\url{http://groups.csail.mit.edu/tds/papers/Lynch/allertonconf.pdf}},
     optnote	= {\textsf{http://\-groups.csail.mit.edu/\-tds/\-papers/\-Lynch/\-allertonconf.pdf}},
 }
@@ -5639,5 +5628,5 @@
     institution	= {Red Hat},
     year	= 2003,
-    note	= {\href{http://www.cs.utexas.edu/~witchel/372/lectures/POSIX_Linux_Threading.pdf}{http://www.cs.utexas.edu/\-$\sim$witchel/\-372/\-lectures/\-POSIX\_Linux\_Threading.pdf}},
+    note	= {\url{http://www.cs.utexas.edu/~witchel/372/lectures/POSIX_Linux_Threading.pdf}},
 }
 
@@ -5649,5 +5638,5 @@
     organization= {{gcc} 9.3 Manual},
     year	= 2019,
-    note	= {\href{https://gcc.gnu.org/onlinedocs/gcc-9.3.0/gcc/Nested-Functions.html}{https://\-gcc.gnu.org/\-onlinedocs/\-gcc-9.3.0/\-gcc/\-Nested-Functions.html}},
+    note	= {\url{https://gcc.gnu.org/onlinedocs/gcc-9.3.0/gcc/Nested-Functions.html}},
 }
 
@@ -5718,5 +5707,5 @@
     year	= 1990,
     pages	= {41-51},
-    note	= {\href{http://doc.cat-v.org/bell_labs/new_c_compilers/new_c_compiler.pdf}{http://\-doc.cat-v.org/\-bell\_labs/\-new\_c\_compilers/\-new\_c\_compiler.pdf}},
+    note	= {\url{http://doc.cat-v.org/bell_labs/new_c_compilers/new_c_compiler.pdf}},
 }
 
@@ -5781,5 +5770,5 @@
     key		= {nginx},
     author	= {{NGINX}},
-    howpublished= {\href{https://www.nginx.com}{https://\-www.nginx.com}},
+    howpublished= {\url{https://www.nginx.com}},
 }
 
@@ -5910,5 +5899,5 @@
     publisher	= {Apple Inc.},
     year	= 2014,
-    howpublished= {\href{https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC}{https://\-developer.apple.com/\-library/archive/\-documentation/\-Cocoa/\-Conceptual/\-ProgrammingWithObjectiveC}},
+    howpublished= {\url{https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC}},
 }
 
@@ -5919,5 +5908,5 @@
     title	= {{X}code 7 Release Notes},
     year	= 2015,
-    howpublished= {\href{https://developer.apple.com/library/content/documentation/Xcode/Conceptual/RN-Xcode-Archive/Chapters/xc7_release_notes.html}{https://\-developer.apple.com/\-library/\-content/\-documentation/\-Xcode/\-Conceptual/\-RN-Xcode-Archive/\-Chapters/\-xc7\_release\_notes.html}},
+    howpublished= {\url{https://developer.apple.com/library/content/documentation/Xcode/Conceptual/RN-Xcode-Archive/Chapters/xc7_release_notes.html}},
 }
 
@@ -6052,5 +6041,5 @@
     month	= nov,
     year	= 2015,
-    note	= {\href{https://www.openmp.org/wp-content/uploads/openmp-4.5.pdf}{https://\-www.openmp.org/\-wp-content/\-uploads/\-openmp-4.5.pdf}},
+    note	= {\url{https://www.openmp.org/wp-content/uploads/openmp-4.5.pdf}},
 }
 
@@ -6060,5 +6049,5 @@
     title	= {OpenTelemetry},
     author	= {{Asynkron AB}},
-    howpublished= {\href{https://proto.actor/docs/tracing}{https://\-proto.actor/\-docs/\-tracing}},
+    howpublished= {\url{https://proto.actor/docs/tracing}},
     year	= 2022,
 }
@@ -6461,5 +6450,5 @@
     key		= {perf},
     author	= {perf},
-    howpublished= {\href{https://perf.wiki.kernel.org/index.php/Tutorial}{https://\-perf.wiki.kernel.org/\-index.php/\-Tutorial}},
+    howpublished= {\url{https://perf.wiki.kernel.org/index.php/Tutorial}},
 }
 
@@ -6470,5 +6459,5 @@
     month	= may,
     year	= 2012,
-    howpublished= {\href{http://cs.brown.edu/research/pubs/theses/masters/2012/verch.pdf}{http://cs.brown.edu/\-research/\-pubs/\-theses/\-masters/\-2012/\-verch.pdf}},
+    howpublished= {\url{http://cs.brown.edu/research/pubs/theses/masters/2012/verch.pdf}},
 }
 
@@ -6869,5 +6858,5 @@
     address	= {Geneva, Switzerland},
     year	= 1998,
-    note	= {\href{https://www.iso.org/standard/25845.html}{https://\-www.iso.org/\-standard/\-25845.html}},
+    note	= {\url{https://www.iso.org/standard/25845.html}},
 }
 
@@ -6881,5 +6870,5 @@
     address	= {Geneva, Switzerland},
     year	= 2014,
-    note	= {\href{https://www.iso.org/standard/64029.html}{https://\-www.iso.org/\-standard/\-64029.html}},
+    note	= {\url{https://www.iso.org/standard/64029.html}},
 }
 
@@ -6893,5 +6882,5 @@
     address	= {Geneva, Switzerland},
     year	= 2017,
-    note	= {\href{https://www.iso.org/standard/68564.html}{https://\-www.iso.org/\-standard/\-68564.html}},
+    note	= {\url{https://www.iso.org/standard/68564.html}},
 }
 
@@ -7173,6 +7162,5 @@
     author	= {IEEE and {The Open Group}},
     year	= 2018,
-    howpublished= {\href{http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/pthread.h.html}
-		  {http://\-pubs.opengroup.org/\-onlinepubs/\-9699919799/\-basedefs/\-pthread.h.html}},
+    howpublished= {\url{http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/pthread.h.html}},
 }
 
@@ -7183,5 +7171,5 @@
     title	= {Python Language Reference, Release 3.7.2},
     organization= {Python Software Foundation},
-    address	= {\href{https://docs.python.org/3/reference/index.html}{https://\-docs.python.org/\-3/\-reference/\-index.html}},
+    address	= {\url{https://docs.python.org/3/reference/index.html}},
     year	= 2018,
 }
@@ -7238,5 +7226,5 @@
     title	= {Quasar Documentation, Release 0.8.0},
     organization= {Parallel Universe},
-    address	= {\href{http://docs.paralleluniverse.co/quasar}{http://\-docs.paralleluniverse.co/\-quasar}},
+    address	= {\url{http://docs.paralleluniverse.co/quasar}},
     year	= 2018,
 }
@@ -7378,5 +7366,5 @@
     month	= apr,
     type	= {Diplomarbeit},
-    note	= {\href{https://plg.uwaterloo.ca/~usystem/theses/SchusterThesis.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-theses/\-SchusterThesis.pdf}},
+    note	= {\url{https://plg.uwaterloo.ca/~usystem/theses/SchusterThesis.pdf}},
 }
 
@@ -7413,5 +7401,5 @@
     year	= 2017,
     optaddress	= {Waterloo, Ontario, Canada, N2L 3G1},
-    note	= {\href{https://uwspace.uwaterloo.ca/handle/10012/11830}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/\-11830}},
+    note	= {\url{https://uwspace.uwaterloo.ca/handle/10012/11830}},
 }
 
@@ -7491,5 +7479,5 @@
     month	= apr,
     year	= 2022,
-    howpublished= {\href{https://github.com/mjansson/rpmalloc}{https://\-github.com/\-mjansson/\-rpmalloc}},
+    howpublished= {\url{https://github.com/mjansson/rpmalloc}},
 }
 
@@ -7501,5 +7489,5 @@
     optaddress	= {Rust Project Developers},
     year	= 2015,
-    note	= {\href{https://doc.rust-lang.org/reference.html}{https://\-doc.rust-lang\-.org/\-reference.html}},
+    note	= {\url{https://doc.rust-lang.org/reference.html}},
 }
 
@@ -7510,5 +7498,5 @@
     title	= {Ruby Documentation, Release 2.6.0},
     organization= {Python Software Foundation},
-    address	= {\href{https://www.ruby-lang.org/en/documentation}{https://\-www.ruby-lang.org/\-en/\-documentation}},
+    address	= {\url{https://www.ruby-lang.org/en/documentation}},
     year	= 2018,
 }
@@ -7538,5 +7526,5 @@
     address	= {\'{E}cole Polytechnique F\'{e}d\'{e}rale de Lausanne},
     year	= 2016,
-    note	= {\href{http://www.scala-lang.org/files/archive/spec/2.11}{http://\-www.scala-lang.org/\-files/\-archive/\-spec/\-2.11}},
+    note	= {\url{http://www.scala-lang.org/files/archive/spec/2.11}},
 }
 
@@ -7699,5 +7687,5 @@
     month	= sep,
     year	= 1995,
-    note	= {\href{http://www.hpl.hp.com/techreports/Compaq-DEC/WRL-95-7.pdf}{http://www.hpl.hp.com/\-techreports/\-Compaq-DEC/\-WRL-95-7.pdf}, Reprinted in \cite{Adve95reprint}.},
+    note	= {\url{http://www.hpl.hp.com/techreports/Compaq-DEC/WRL-95-7.pdf}},
 }
 
@@ -7773,5 +7761,5 @@
     month	= may,
     year	= 2001,
-    note	= {\href{http://www.python.org/peps/pep-0255.html}{http://\-www.python.org/\-peps/\-pep-0255.html}},
+    note	= {\url{http://www.python.org/peps/pep-0255.html}},
 }
 
@@ -8076,5 +8064,5 @@
     organization= {IEEE and The Open Group},
     year	= 2017,
-    note	= {\href{https://pubs.opengroup.org/onlinepubs/9699919799}{https://\-pubs.opengroup.org/\-onlinepubs/\-9699919799}},
+    note	= {\url{https://pubs.opengroup.org/onlinepubs/9699919799}},
 }
 
@@ -8143,5 +8131,5 @@
     pages	= {1-6},
     numpages	= {6},
-    howpublished= {\href{http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0144r0.pdf}{http://\-www.open-std.org/\-jtc1/\-sc22/\-wg21/\-docs/\-papers/\-2015/\-p0144r0.pdf}},
+    howpublished= {\url{http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0144r0.pdf}},
 }
 
@@ -8453,5 +8441,5 @@
     key		= {TIOBE Index},
     author	= {{TIOBE Index}},
-    howpublished= {\href{http://www.tiobe.com/tiobe_index}{http://\-www.tiobe.com/\-tiobe\_index}},
+    howpublished= {\url{http://www.tiobe.com/tiobe_index}},
 }
 
@@ -8461,5 +8449,5 @@
     title	= {Thread (computing)},
     author	= {{Threading Model}},
-    howpublished= {\href{https://en.wikipedia.org/wiki/Thread_(computing)}{https://\-en.wikipedia.org/\-wiki/\-Thread\_\-(computing)}},
+    howpublished= {\url{https://en.wikipedia.org/wiki/Thread_(computing)}},
 }
 
@@ -8469,5 +8457,5 @@
     title	= {{T}okio Asynchronous Runtime for {R}ust},
     author	= {Tokio},
-    howpublished= {\href{https://tokio.rs}{https://\-tokio.rs}},
+    howpublished= {\url{https://tokio.rs}},
 }
 
@@ -8609,5 +8597,5 @@
     key		= {Trace Compass},
     author	= {{T}race {C}ompass},
-    howpublished= {\href{https://projects.eclipse.org/proposals/trace-compass}{https://\-projects.eclipse.org/\-proposals/\-trace-compass}},
+    howpublished= {\url{https://projects.eclipse.org/proposals/trace-compass}},
 }
 
@@ -8668,5 +8656,5 @@
     title	= {Typed Actors},
     author	= {{Lightbend}},
-    howpublished= {\href{https://doc.akka.io/docs/akka/2.5/typed-actors.html}{https://\-doc.akka.io/\-docs/\-akka/\-2.5/\-typed-actors.html}},
+    howpublished= {\url{https://doc.akka.io/docs/akka/2.5/typed-actors.html}},
     year	= 2022,
 }
@@ -8938,6 +8926,5 @@
     year	= 2020,
     note	= {WikipediA},
-    howpublished= {\href{https://en.wikipedia.org/wiki/Visitor\_pattern}
-		  {https://\-en.wikipedia.org/\-wiki/\-Visitor\_pattern}},
+    howpublished= {\url{https://en.wikipedia.org/wiki/Visitor\_pattern}},
 }
 
@@ -9041,5 +9028,5 @@
     month	= jun,
     year	= 1985,
-    note	= {\href{http://www.hpl.hp.com/techreports/tandem/TR-85.7.pdf}{http://www.hpl.hp.com/\-techreports/\-tandem/\-TR-85.7.pdf}},
+    note	= {\url{http://www.hpl.hp.com/techreports/tandem/TR-85.7.pdf}},
 }
 
Index: libcfa/src/iostream.hfa
===================================================================
--- libcfa/src/iostream.hfa	(revision 71b5aad58696e7080180f82a1dd2c772721ae91d)
+++ libcfa/src/iostream.hfa	(revision 221c542ecca6f9355f2fbc91025e06aa2950e8d2)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Jan  3 10:53:18 2024
-// Update Count     : 610
+// Last Modified On : Sun Jan 21 22:42:40 2024
+// Update Count     : 655
 //
 
@@ -196,22 +196,18 @@
 // *********************************** integral ***********************************
 
-// See 6.7.9. 19) The initialization shall occur in initializer list order, each initializer provided for a particular
-// subobject overriding any previously listed initializer for the same subobject; ***all subobjects that are not
-// initialized explicitly shall be initialized implicitly the same as objects that have static storage duration.***
-
 #define INTEGRAL_FMT_DECL( T, CODE ) \
 static inline { \
-	_Ostream_Manip(T) bin( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'b', { .all : 0 } }; } \
-	_Ostream_Manip(T) oct( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'o', { .all : 0 } }; } \
-	_Ostream_Manip(T) hex( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'x', { .all : 0 } }; } \
-	_Ostream_Manip(T) wd( unsigned int w, T val ) { return (_Ostream_Manip(T))@{ val, w, 0, CODE, { .all : 0 } }; } \
-	_Ostream_Manip(T) wd( unsigned int w, unsigned int pc, T val ) { return (_Ostream_Manip(T))@{ val, w, pc, CODE, { .flags.pc : true } }; } \
-	_Ostream_Manip(T) & wd( unsigned int w, _Ostream_Manip(T) & fmt ) { fmt.wd = w; return fmt; } \
-	_Ostream_Manip(T) & wd( unsigned int w, unsigned int pc, _Ostream_Manip(T) & fmt ) { fmt.wd = w; fmt.pc = pc; fmt.flags.pc = true; return fmt; } \
+	_Ostream_Manip(T) bin( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base : 'b', { .all : 0 } }; } \
+	_Ostream_Manip(T) oct( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base : 'o', { .all : 0 } }; } \
+	_Ostream_Manip(T) hex( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base : 'x', { .all : 0 } }; } \
+	_Ostream_Manip(T) wd( unsigned int wd, T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : wd, .pc : 0, .base : CODE, { .all : 0 } }; } \
+	_Ostream_Manip(T) wd( unsigned int wd, unsigned int pc, T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : wd, .pc : pc, .base : CODE, { .flags.pc : true } }; } \
+	_Ostream_Manip(T) & wd( unsigned int wd, _Ostream_Manip(T) & fmt ) { fmt.wd = wd; return fmt; } \
+	_Ostream_Manip(T) & wd( unsigned int wd, unsigned int pc, _Ostream_Manip(T) & fmt ) { fmt.wd = wd; fmt.pc = pc; fmt.flags.pc = true; return fmt; } \
 	_Ostream_Manip(T) & left( _Ostream_Manip(T) & fmt ) { fmt.flags.left = true; return fmt; } \
 	_Ostream_Manip(T) & upcase( _Ostream_Manip(T) & fmt ) { if ( fmt.base == 'x' || fmt.base == 'b' ) fmt.base -= 32; /* upper case */ return fmt; } \
 	_Ostream_Manip(T) & nobase( _Ostream_Manip(T) & fmt ) { fmt.flags.nobsdp = true; return fmt; } \
 	_Ostream_Manip(T) & pad0( _Ostream_Manip(T) & fmt ) { fmt.flags.pad0 = true; return fmt; } \
-	_Ostream_Manip(T) sign( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, CODE, { .flags.sign : true } }; } \
+	_Ostream_Manip(T) sign( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base : CODE, { .flags.sign : true } }; } \
 	_Ostream_Manip(T) & sign( _Ostream_Manip(T) & fmt ) { fmt.flags.sign = true; return fmt; } \
 } /* distribution */ \
@@ -241,22 +237,23 @@
 #define FLOATING_POINT_FMT_DECL( T ) \
 static inline { \
-	_Ostream_Manip(T) hex( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'a', { .all : 0 } }; } \
-	_Ostream_Manip(T) sci( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'e', { .all : 0 } }; } \
-	_Ostream_Manip(T) eng( T val ) { return (_Ostream_Manip(T))@{ val, 1, -1, 'g', { .flags.eng : true } }; } \
-	_Ostream_Manip(T) wd( unsigned int w, T val ) { return (_Ostream_Manip(T))@{ val, w, 0, 'g', { .all : 0 } }; } \
-	_Ostream_Manip(T) wd( unsigned int w, unsigned int pc, T val ) { return (_Ostream_Manip(T))@{ val, w, pc, 'f', { .flags.pc : true } }; } \
-	_Ostream_Manip(T) ws( unsigned int w, unsigned int pc, T val ) { return (_Ostream_Manip(T))@{ val, w, pc, 'g', { .flags.pc : true } }; } \
-	_Ostream_Manip(T) & wd( unsigned int w, _Ostream_Manip(T) & fmt ) { if ( fmt.flags.eng ) fmt.base = 'f'; fmt.wd = w; return fmt; } \
-	_Ostream_Manip(T) & wd( unsigned int w, unsigned int pc, _Ostream_Manip(T) & fmt ) { if ( fmt.flags.eng ) fmt.base = 'f'; fmt.wd = w; fmt.pc = pc; fmt.flags.pc = true; return fmt; } \
-	_Ostream_Manip(T) & ws( unsigned int w, unsigned int pc, _Ostream_Manip(T) & fmt ) { fmt.wd = w; fmt.pc = pc; fmt.flags.pc = true; return fmt; } \
+	_Ostream_Manip(T) hex( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base : 'a', { .all : 0 } }; } \
+	_Ostream_Manip(T) sci( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base : 'e', { .all : 0 } }; } \
+	_Ostream_Manip(T) eng( T val ) { return (_Ostream_Manip(T))@{ .val : val, 1, -1, .base : 'g', { .flags.eng : true } }; } \
+	_Ostream_Manip(T) wd( unsigned int wd, T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : wd, .pc : 0, .base : 'g', { .all : 0 } }; } \
+	_Ostream_Manip(T) wd( unsigned int wd, unsigned int pc, T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : wd, .pc : pc, .base : 'f', { .flags.pc : true } }; } \
+	_Ostream_Manip(T) ws( unsigned int wd, unsigned int pc, T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : wd, .pc : pc, .base : 'g', { .flags.pc : true } }; } \
+	_Ostream_Manip(T) & wd( unsigned int wd, _Ostream_Manip(T) & fmt ) { if ( fmt.flags.eng ) fmt.base = 'f'; fmt.wd = wd; return fmt; } \
+	_Ostream_Manip(T) & wd( unsigned int wd, unsigned int pc, _Ostream_Manip(T) & fmt ) { \
+		if ( fmt.flags.eng ) fmt.base = 'f'; fmt.wd = wd; fmt.pc = pc; fmt.flags.pc = true; return fmt; } \
+	_Ostream_Manip(T) & ws( unsigned int wd, unsigned int pc, _Ostream_Manip(T) & fmt ) { fmt.wd = wd; fmt.pc = pc; fmt.flags.pc = true; return fmt; } \
 	_Ostream_Manip(T) & left( _Ostream_Manip(T) & fmt ) { fmt.flags.left = true; return fmt; } \
-	_Ostream_Manip(T) upcase( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'G', { .all : 0 } }; } \
+	_Ostream_Manip(T) upcase( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base : 'G', { .all : 0 } }; } \
 	_Ostream_Manip(T) & upcase( _Ostream_Manip(T) & fmt ) { fmt.base -= 32; /* upper case */ return fmt; } \
 	_Ostream_Manip(T) & pad0( _Ostream_Manip(T) & fmt ) { fmt.flags.pad0 = true; return fmt; } \
-	_Ostream_Manip(T) sign( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'g', { .flags.sign : true } }; } \
+	_Ostream_Manip(T) sign( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base : 'g', { .flags.sign : true } }; } \
 	_Ostream_Manip(T) & sign( _Ostream_Manip(T) & fmt ) { fmt.flags.sign = true; return fmt; } \
-	_Ostream_Manip(T) nodp( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'g', { .flags.nobsdp : true } }; } \
+	_Ostream_Manip(T) nodp( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base : 'g', { .flags.nobsdp : true } }; } \
 	_Ostream_Manip(T) & nodp( _Ostream_Manip(T) & fmt ) { fmt.flags.nobsdp = true; return fmt; } \
-	_Ostream_Manip(T) unit( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'g', { .flags.nobsdp : true } }; } \
+	_Ostream_Manip(T) unit( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base : 'g', { .flags.nobsdp : true } }; } \
 	_Ostream_Manip(T) & unit( _Ostream_Manip(T) & fmt ) { fmt.flags.nobsdp = true; return fmt; } \
 } /* distribution */ \
@@ -272,9 +269,9 @@
 
 static inline {
-	_Ostream_Manip(char) bin( char c ) { return (_Ostream_Manip(char))@{ c, 1, 0, 'b', { .all : 0 } }; }
-	_Ostream_Manip(char) oct( char c ) { return (_Ostream_Manip(char))@{ c, 1, 0, 'o', { .all : 0 } }; }
-	_Ostream_Manip(char) hex( char c ) { return (_Ostream_Manip(char))@{ c, 1, 0, 'x', { .all : 0 } }; }
-	_Ostream_Manip(char) wd( unsigned int w, char c ) { return (_Ostream_Manip(char))@{ c, w, 0, 'c', { .all : 0 } }; }
-	_Ostream_Manip(char) & wd( unsigned int w, _Ostream_Manip(char) & fmt ) { fmt.wd = w; return fmt; }
+	_Ostream_Manip(char) bin( char c ) { return (_Ostream_Manip(char))@{ .val : c, .wd : 1, .pc : 0, .base : 'b', { .all : 0 } }; }
+	_Ostream_Manip(char) oct( char c ) { return (_Ostream_Manip(char))@{ .val : c, .wd : 1, .pc : 0, .base : 'o', { .all : 0 } }; }
+	_Ostream_Manip(char) hex( char c ) { return (_Ostream_Manip(char))@{ .val : c, .wd : 1, .pc : 0, .base : 'x', { .all : 0 } }; }
+	_Ostream_Manip(char) wd( unsigned int wd, char c ) { return (_Ostream_Manip(char))@{ c, wd, 0, .base : 'c', { .all : 0 } }; }
+	_Ostream_Manip(char) & wd( unsigned int wd, _Ostream_Manip(char) & fmt ) { fmt.wd = wd; return fmt; }
 	_Ostream_Manip(char) & left( _Ostream_Manip(char) & fmt ) { fmt.flags.left = true; return fmt; }
 	_Ostream_Manip(char) & upcase( _Ostream_Manip(char) & fmt ) { if ( fmt.base == 'x' || fmt.base == 'b' ) fmt.base -= 32; /* upper case */ return fmt; }
@@ -289,11 +286,11 @@
 
 static inline {
-	_Ostream_Manip(const char *) bin( const char s[] ) { return (_Ostream_Manip(const char *))@{ s, 1, 0, 'b', { .all : 0 } }; }
-	_Ostream_Manip(const char *) oct( const char s[] ) { return (_Ostream_Manip(const char *))@{ s, 1, 0, 'o', { .all : 0 } }; }
-	_Ostream_Manip(const char *) hex( const char s[] ) { return (_Ostream_Manip(const char *))@{ s, 1, 0, 'x', { .all : 0 } }; }
-	_Ostream_Manip(const char *) wd( unsigned int w, const char s[] ) { return (_Ostream_Manip(const char *))@{ s, w, 0, 's', { .all : 0 } }; }
-	_Ostream_Manip(const char *) wd( unsigned int w, unsigned int pc, const char s[] ) { return (_Ostream_Manip(const char *))@{ s, w, pc, 's', { .flags.pc : true } }; }
-	_Ostream_Manip(const char *) & wd( unsigned int w, _Ostream_Manip(const char *) & fmt ) { fmt.wd = w; return fmt; }
-	_Ostream_Manip(const char *) & wd( unsigned int w, unsigned int pc, _Ostream_Manip(const char *) & fmt ) { fmt.wd = w; fmt.pc = pc; fmt.flags.pc = true; return fmt; }
+	_Ostream_Manip(const char *) bin( const char s[] ) { return (_Ostream_Manip(const char *))@{ .val : s, .wd : 1, .pc : 0, .base : 'b', { .all : 0 } }; }
+	_Ostream_Manip(const char *) oct( const char s[] ) { return (_Ostream_Manip(const char *))@{ .val : s, .wd : 1, .pc : 0, .base : 'o', { .all : 0 } }; }
+	_Ostream_Manip(const char *) hex( const char s[] ) { return (_Ostream_Manip(const char *))@{ .val : s, .wd : 1, .pc : 0, .base : 'x', { .all : 0 } }; }
+	_Ostream_Manip(const char *) wd( unsigned int wd, const char s[] ) { return (_Ostream_Manip(const char *))@{ s, wd, 0, .base : 's', { .all : 0 } }; }
+	_Ostream_Manip(const char *) wd( unsigned int wd, unsigned int pc, const char s[] ) { return (_Ostream_Manip(const char *))@{ s, .wd : wd, .pc : pc, .base : 's', { .flags.pc : true } }; }
+	_Ostream_Manip(const char *) & wd( unsigned int wd, _Ostream_Manip(const char *) & fmt ) { fmt.wd = wd; return fmt; }
+	_Ostream_Manip(const char *) & wd( unsigned int wd, unsigned int pc, _Ostream_Manip(const char *) & fmt ) { fmt.wd = wd; fmt.pc = pc; fmt.flags.pc = true; return fmt; }
 	_Ostream_Manip(const char *) & left( _Ostream_Manip(const char *) & fmt ) { fmt.flags.left = true; return fmt; }
 	_Ostream_Manip(const char *) & nobase( _Ostream_Manip(const char *) & fmt ) { fmt.flags.nobsdp = true; return fmt; }
@@ -369,4 +366,5 @@
 	istype & nlOn( istype & );
 	istype & nlOff( istype & );
+	istype & quoted( istype &, char & c );
 } // distribution
 
@@ -385,6 +383,6 @@
 
 static inline {
-	_Istream_Cskip skip( const char scanset[] ) { return (_Istream_Cskip)@{ scanset, 0 }; }
-	_Istream_Cskip skip( unsigned int wd ) { return (_Istream_Cskip)@{ 0p, wd }; }
+	_Istream_Cskip skip( const char scanset[] ) { return (_Istream_Cskip)@{ .scanset : scanset, .wd : 0 }; }
+	_Istream_Cskip skip( unsigned int wd ) { return (_Istream_Cskip)@{ .scanset : 0p, .wd : wd }; }
 } // distribution
 
@@ -417,8 +415,8 @@
 static inline {
 	// width must include room for null terminator
-	_Istream_Cstr wdi( unsigned int wd, char s[] ) { return (_Istream_Cstr)@{ s, { {0p}, wd, {.all : 0} } }; }
+	_Istream_Cstr wdi( unsigned int wd, char s[] ) { return (_Istream_Cstr)@{ .s : s, { {.scanset : 0p}, .wd : wd, {.all : 0} } }; }
 	_Istream_Cstr wdi( unsigned int wd, unsigned int rwd, char s[] ) {
 		if ( wd <= rwd ) throw (cstring_length){ &cstring_length_vt };
-		return (_Istream_Cstr)@{ s, { {0p}, rwd, {.flags.rwd : true} } };
+		return (_Istream_Cstr)@{ .s : s, { {.scanset : 0p}, .wd : rwd, {.flags.rwd : true} } };
 	}
 	_Istream_Cquoted & quoted( _Istream_Cstr & fmt, const char Ldelimiter = '"', const char Rdelimiter = '\0' ) {
@@ -431,5 +429,5 @@
 	_Istream_Cstr & incl( const char scanset[], _Istream_Cstr & fmt ) { fmt.scanset = scanset; fmt.flags.inex = false; return fmt; }
 	_Istream_Cstr & excl( const char scanset[], _Istream_Cstr & fmt ) { fmt.scanset = scanset; fmt.flags.inex = true; return fmt; }
-	_Istream_Cstr ignore( char s[] ) { return (_Istream_Cstr)@{ s, { {0p}, -1, {.flags.ignore : true} } }; }
+	_Istream_Cstr ignore( char s[] ) { return (_Istream_Cstr)@{ .s : s, { {.scanset : 0p}, .wd : -1, {.flags.ignore : true} } }; }
 	_Istream_Cstr & ignore( _Istream_Cstr & fmt ) { fmt.flags.ignore = true; return fmt; }
 } // distribution
@@ -442,11 +440,20 @@
 
 struct _Istream_Char {
+	char & c;
 	bool ignore;										// do not change input argument
+	char fmt[7];										// \L%c\R%n\0
 }; // _Istream_Char
 
 static inline {
-	_Istream_Char ignore( const char ) { return (_Istream_Char)@{ true }; }
+	_Istream_Char quoted( char & c, const char Ldelimiter = '\'', const char Rdelimiter = '\0' ) {
+		return (_Istream_Char)@{ .c : c, .ignore : false,
+				fmt : { Ldelimiter, '%', 'c', (Rdelimiter == '\0' ? Ldelimiter : Rdelimiter), '%', 'n', '\0' } };
+	}
+	_Istream_Char ignore( char ) {
+		return (_Istream_Char)@{ .c : *0p, .ignore : true };
+	}
 	_Istream_Char & ignore( _Istream_Char & fmt ) { fmt.ignore = true; return fmt; }
 } // distribution
+
 forall( istype & | basic_istream( istype ) ) {
 	istype & ?|?( istype & is, _Istream_Char f );
@@ -462,7 +469,7 @@
 #define INPUT_FMT_DECL( T ) \
 static inline { \
-	_Istream_Manip(T) ignore( const T & val ) { return (_Istream_Manip(T))@{ (T &)val, -1, true }; } \
+	_Istream_Manip(T) ignore( const T & val ) { return (_Istream_Manip(T))@{ .val : (T &)val, .wd : -1, .ignore : true }; } \
 	_Istream_Manip(T) & ignore( _Istream_Manip(T) & fmt ) { fmt.ignore = true; return fmt; } \
-	_Istream_Manip(T) wdi( unsigned int wd, T & val ) { return (_Istream_Manip(T))@{ val, wd, false }; } \
+	_Istream_Manip(T) wdi( unsigned int wd, T & val ) { return (_Istream_Manip(T))@{ .val : val, .wd : wd, .ignore : false }; } \
 	_Istream_Manip(T) & wdi( unsigned int wd, _Istream_Manip(T) & fmt ) { fmt.wd = wd; return fmt; } \
 } /* distribution */ \
