diff --git a/README.md b/README.md
index 4e457a7..366faa9 100644
--- a/README.md
+++ b/README.md
@@ -122,46 +122,46 @@ Synopsis
| |– |– | | const_reference | |
| Lifetime types |✓|– | | cloner_type |[2]: copier_type |
| |✓|✓| | deleter_type | |
-| Construction |✓|✓| | value_ptr() noexcept |... |
-| |– |✓| C++11 | value_ptr( std::nullptr_t ) noexcept|... |
-| |✓|– | | value_ptr( pointer p ) noexcept |... |
-| |✓|✓| | value_ptr( value_ptr const & other ) |... |
-| |✓|✓| C++11 | value_ptr( value_ptr && other ) noexcept |... |
-| |✓| 1 | | value_ptr( element_type const & value ) |... |
-| |✓| 1 | C++11 | value_ptr( element_type && value ) noexcept |... |
-| |– |– | C++11 | template< class... Args >
explicit value_ptr( in_place_type_t(T), Args&&... args ) |... |
-| |– |– | C++11 | template< class U, class... Args >
explicit value_ptr( in_place_type_t(T), std::initializer_list<U> il, Args&&... args ) |... |
-| |✓|– | | value_ptr( cloner_type const & cloner ) |... |
-| |✓|– | C++11 | value_ptr( cloner_type && cloner ) noexcept |... |
-| |– |– | | value_ptr( deleter_type const & deleter ) |... |
-| |– |– | C++11 | value_ptr( deleter_type && deleter ) noexcept |... |
-| |✓|– | C++11 | template< class V, class ClonerOrDeleter >
value_ptr( V && value, ClonerOrDeleter && cloner_or_deleter ) |... |
-| |– |– |
value_ptr( V const & value, ClonerOrDeleter const & cloner_or_deleter ) |... |
-| |✓|– | C++11 | template< class V, class C, class D >
value_ptr( V && value, C && cloner, D && deleter ) |... |
-| |– |– |
value_ptr( V const & value, C const & cloner, D const & deleter ) |... |
-| Destruction |– |– | C++11 | ~value_ptr() |... |
-| Assignment |– |– | C++11 | value_ptr & operator=( std::nullptr_t ) noexcept |... |
-| |– |– | | value_ptr & operator=( T const & value ) |... |
-| |– |– | C++11 | template< class U, ... >
value_ptr & operator=( U && value ) |... |
-| |– |✓| | value_ptr & operator=( value_ptr const & rhs ) |... |
-| |– |✓| C++11 | value_ptr & operator=( value_ptr && rhs ) noexcept |... |
-| Emplace |– |– | C++11 | template< class... Args >
void emplace( Args&&... args ) |... |
-| |– |– | C++11 | template< class U, class... Args >
void emplace( std::initializer_list<U> il, Args&&... args ) |... |
-| Observers |✓|✓| | pointer get() noexcept |... |
+| Construction |✓|✓| | value_ptr() noexcept | |
+| |– |✓| C++11 | value_ptr( std::nullptr_t ) noexcept| |
+| |✓|– | | value_ptr( pointer p ) noexcept | |
+| |✓|✓| | value_ptr( value_ptr const & other ) | |
+| |✓|✓| C++11 | value_ptr( value_ptr && other ) noexcept | |
+| |✓| 1 | | value_ptr( element_type const & value ) | |
+| |✓| 1 | C++11 | value_ptr( element_type && value ) noexcept | |
+| |– |– | C++11 | template< class... Args >
explicit value_ptr( in_place_type_t(T), Args&&... args ) | |
+| |– |– | C++11 | template< class U, class... Args >
explicit value_ptr( in_place_type_t(T), std::initializer_list<U> il, Args&&... args ) | |
+| |✓|– | | value_ptr( cloner_type const & cloner ) | |
+| |✓|– | C++11 | value_ptr( cloner_type && cloner ) noexcept | |
+| |– |– | | value_ptr( deleter_type const & deleter ) | |
+| |– |– | C++11 | value_ptr( deleter_type && deleter ) noexcept | |
+| |✓|– | C++11 | template< class V, class ClonerOrDeleter >
value_ptr( V && value, ClonerOrDeleter && cloner_or_deleter ) | |
+| |– |– |
value_ptr( V const & value, ClonerOrDeleter const & cloner_or_deleter ) | |
+| |✓|– | C++11 | template< class V, class C, class D >
value_ptr( V && value, C && cloner, D && deleter ) | |
+| |– |– |
value_ptr( V const & value, C const & cloner, D const & deleter ) | |
+| Destruction |– |– | C++11 | ~value_ptr() | |
+| Assignment |– |– | C++11 | value_ptr & operator=( std::nullptr_t ) noexcept | |
+| |– |– | | value_ptr & operator=( T const & value ) | |
+| |– |– | C++11 | template< class U, ... >
value_ptr & operator=( U && value ) | |
+| |– |✓| | value_ptr & operator=( value_ptr const & rhs ) | |
+| |– |✓| C++11 | value_ptr & operator=( value_ptr && rhs ) noexcept | |
+| Emplace |– |– | C++11 | template< class... Args >
void emplace( Args&&... args ) | |
+| |– |– | C++11 | template< class U, class... Args >
void emplace( std::initializer_list<U> il, Args&&... args ) | |
+| Observers |✓|✓| | pointer get() noexcept | |
| |✓|✓| | cloner_type & get_cloner() noexcept |[2]: get_copier() |
-| |✓|✓| | deleter_type & get_deleter() noexcept |... |
-| |✓|✓| | reference operator*() const |... |
-| |✓|✓| | pointer operator->() const noexcept |... |
-| |✓|✓| C++11 | explicit operator bool() const noexcept |... |
-| |– |– |
constexpr element_type value_or( U && v ) const |... |
-| |– |– |
constexpr element_type value_or( U const & v ) const |... |
-| Modifiers |✓|✓| | pointer release() noexcept |... |
-| |– |– | | void reset( pointer p = pointer() ) noexcept |... |
-| |– |✓| | void swap( value_ptr & other ) noexcept |... |
+| |✓|✓| | deleter_type & get_deleter() noexcept | |
+| |✓|✓| | reference operator*() const | |
+| |✓|✓| | pointer operator->() const noexcept | |
+| |✓|✓| C++11 | explicit operator bool() const noexcept | |
+| |– |– |
constexpr element_type value_or( U && v ) const | |
+| |– |– |
constexpr element_type value_or( U const & v ) const | |
+| Modifiers |✓|✓| | pointer release() noexcept | |
+| |– |– | | void reset( pointer p = pointer() ) noexcept | |
+| |– |✓| | void swap( value_ptr & other ) noexcept | |
**Notes:**
1. [2] has various converting constructors.