 programming errors, and there are some problems that it cannot solve."[5] They characterized the use of type conventions, like the typedefs provided by the Standard Template Library, as a more powerful and general technique.[5] However, Steve Dewhurst argued that such conventions are "costly to design and promulgate", and that it would be "much easier to ... simply extract the type of the expression."[6] In a 2011 article on C++0x, Koenig and Moo predicted that "decltype will be widely used to make everyday programs easier to write."[7]In 2002, Bjarne Stroustrup suggested extending the C++ language with mechanisms for querying the type of an expression, and initializing objects without specifying the type.[1] Stroustrup observed that the reference-dropping semantics offered by the typeof operator provided by the GCC and EDG compilers could be problematic.[1] Conversely, an operator returning a reference type based on the lvalue-ness of the expression was deemed too confusing. The ini