diff --git a/misc.h b/misc.h
index b9777cc8..a90c6801 100644
--- a/misc.h
+++ b/misc.h
@@ -1194,17 +1194,17 @@ inline void SecureWipeArray(T *buf, size_t n)
}
//! \brief Converts a wide character C-string to a multibyte string
-//! \param str C-string consiting of wide characters
-//! \param throwOnError specifies the function should throw an InvalidArgument exception on error
+//! \param str C-string consisting of wide characters
+//! \param throwOnError flag indication the function should throw on error
//! \returns str converted to a multibyte string or an empty string.
-//! \details StringNarrow converts a wide string to a narrow string using C++ std::wcstombs under the executing
-//! thread's locale. A locale must be set before using this function, and it can be set with std::setlocale.
-//! Upon success, the converted string is returned.
-//! \details Upon failure with throwOnError as false, the function returns an empty string. Upon failure with
-//! throwOnError as true, the function throws InvalidArgument exception.
+//! \details StringNarrow converts a wide string to a narrow string using C++ std::wcstombs() under
+//! the executing thread's locale. A locale must be set before using this function, and it can be
+//! set with std::setlocale() if needed. Upon success, the converted string is returned.
+//! \details Upon failure with throwOnError as false, the function returns an empty string. If
+//! throwOnError as true, the function throws an InvalidArgument() exception.
//! \note If you try to convert, say, the Chinese character for "bone" from UTF-16 (0x9AA8) to UTF-8
//! (0xE9 0xAA 0xA8), then you must ensure the locale is available. If the locale is not available,
-//! then a 0x21 error is returned on Windows which eventually results in an InvalidArgument exception.
+//! then a 0x21 error is returned on Windows which eventually results in an InvalidArgument() exception.
#ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562
std::string StringNarrow(const wchar_t *str, bool throwOnError = true);
#else
@@ -1269,10 +1269,10 @@ CONVERSION_ERROR:
//! \brief Allocates a buffer on 16-byte boundary
//! \param size the size of the buffer
-//! \details AlignedAllocate is primarily used when the data will be proccessed by MMX and SSE2
+//! \details AlignedAllocate is primarily used when the data will be proccessed by MMX, SSE2 and NEON
//! instructions. The assembly language routines rely on the alignment. If the alignment is not
-//! respected, then a SIGBUS is generated under Unix and an EXCEPTION_DATATYPE_MISALIGNMENT
-//! is generated under Windows.
+//! respected, then a SIGBUS could be generated on Unix and Linux, and an
+//! EXCEPTION_DATATYPE_MISALIGNMENT could be generated on Windows.
//! \note AlignedAllocate and AlignedDeallocate are available when CRYPTOPP_BOOL_ALIGN16 is
//! defined. CRYPTOPP_BOOL_ALIGN16 is defined in config.h
CRYPTOPP_DLL void* CRYPTOPP_API AlignedAllocate(size_t size);
@@ -1304,7 +1304,7 @@ CRYPTOPP_DLL void CRYPTOPP_API UnalignedDeallocate(void *ptr);
//! \tparam T the word type
//! \param x the value to rotate
//! \param y the number of bit positions to rotate the value
-//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits.
+//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits wide.
//! \details y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior.
//! Use rotlMod if the rotate amount y is outside the range.
//! \note rotlFixed attempts to enlist a rotate IMM instruction because its often faster
@@ -1326,7 +1326,7 @@ template inline T rotlFixed(T x, unsigned int y)
//! \tparam T the word type
//! \param x the value to rotate
//! \param y the number of bit positions to rotate the value
-//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits.
+//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits wide.
//! \details y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior.
//! Use rotrMod if the rotate amount y is outside the range.
//! \note rotrFixed attempts to enlist a rotate IMM instruction because its often faster
@@ -1348,7 +1348,7 @@ template inline T rotrFixed(T x, unsigned int y)
//! \tparam T the word type
//! \param x the value to rotate
//! \param y the number of bit positions to rotate the value
-//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits.
+//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits wide.
//! \details y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior.
//! Use rotlMod if the rotate amount y is outside the range.
//! \note rotlVariable attempts to enlist a rotate IMM instruction because its often faster
@@ -1366,7 +1366,7 @@ template inline T rotlVariable(T x, unsigned int y)
//! \tparam T the word type
//! \param x the value to rotate
//! \param y the number of bit positions to rotate the value
-//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits.
+//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits wide.
//! \details y must be in the range [0, sizeof(T)*8 - 1] to avoid undefined behavior.
//! Use rotrMod if the rotate amount y is outside the range.
//! \note rotrVariable attempts to enlist a rotate IMM instruction because its often faster
@@ -1384,7 +1384,7 @@ template inline T rotrVariable(T x, unsigned int y)
//! \tparam T the word type
//! \param x the value to rotate
//! \param y the number of bit positions to rotate the value
-//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits.
+//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits wide.
//! \details y is reduced to the range [0, sizeof(T)*8 - 1] to avoid undefined behavior.
//! \note rotrVariable will use either rotate IMM or rotate REG.
template inline T rotlMod(T x, unsigned int y)
@@ -1398,7 +1398,7 @@ template inline T rotlMod(T x, unsigned int y)
//! \tparam T the word type
//! \param x the value to rotate
//! \param y the number of bit positions to rotate the value
-//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits.
+//! \details This is a portable C/C++ implementation. The value x to be rotated can be 8 to 64-bits wide.
//! \details y is reduced to the range [0, sizeof(T)*8 - 1] to avoid undefined behavior.
//! \note rotrVariable will use either rotate IMM or rotate REG.
template inline T rotrMod(T x, unsigned int y)