diff --git a/README.md b/README.md
index 6e13bfdc..c4d9f733 100644
--- a/README.md
+++ b/README.md
@@ -160,7 +160,7 @@ json empty_object_implicit = json({});
 json empty_object_explicit = json::object();
 
 // a way to express an _array_ of key/value pairs [["currency", "USD"], ["value", 42.99]]
-json array_not_object = { json::array({"currency", "USD"}), json::array({"value", 42.99}) };
+json array_not_object = json::array({ {"currency", "USD"}, {"value", 42.99} });
 ```
 
 
diff --git a/src/json.hpp b/src/json.hpp
index 23d42054..e0466b68 100644
--- a/src/json.hpp
+++ b/src/json.hpp
@@ -3646,12 +3646,12 @@ class iter_impl
 
   public:
 
-	/// The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. 
-	/// The C++ Standard has never required user-defined iterators to derive from std::iterator. 
-	/// A user-defined iterator should provide publicly accessible typedefs named 
-	/// iterator_category, value_type, difference_type, pointer, and reference. 
-	/// Note that value_type is required to be non-const, even for constant iterators.
-	using iterator_category = std::bidirectional_iterator_tag;
+    /// The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17.
+    /// The C++ Standard has never required user-defined iterators to derive from std::iterator.
+    /// A user-defined iterator should provide publicly accessible typedefs named
+    /// iterator_category, value_type, difference_type, pointer, and reference.
+    /// Note that value_type is required to be non-const, even for constant iterators.
+    using iterator_category = std::bidirectional_iterator_tag;
 
     /// the type of the values when the iterator is dereferenced
     using value_type = typename BasicJsonType::value_type;
diff --git a/test/src/unit-readme.cpp b/test/src/unit-readme.cpp
index bc159775..1ce6ee1d 100644
--- a/test/src/unit-readme.cpp
+++ b/test/src/unit-readme.cpp
@@ -100,13 +100,20 @@ TEST_CASE("README", "[hide]")
         {
             // ways to express the empty array []
             json empty_array_implicit = {{}};
+            CHECK(empty_array_implicit.is_array());
             json empty_array_explicit = json::array();
+            CHECK(empty_array_explicit.is_array());
 
             // a way to express the empty object {}
             json empty_object_explicit = json::object();
+            CHECK(empty_object_explicit.is_object());
 
             // a way to express an _array_ of key/value pairs [["currency", "USD"], ["value", 42.99]]
-            json array_not_object = { json::array({"currency", "USD"}), json::array({"value", 42.99}) };
+            json array_not_object = json::array({ {"currency", "USD"}, {"value", 42.99} });
+            CHECK(array_not_object.is_array());
+            CHECK(array_not_object.size() == 2);
+            CHECK(array_not_object[0].is_array());
+            CHECK(array_not_object[1].is_array());
         }
 
         {