I've been experimenting with Boost Concepts in conjunction with Boost Range and by implication boost iterators. I have a few questions from the documentation: a) I see BOOST_CONCEPT_USAGE described in some detail in the section Creating Concept Checking Classes. But in the section titled "Reference" I only find in the subsection "macros" BOOST_CONCEPT_ASSERT and BOOST_CONCEPT_REQUIRES. Is BOOST_CONCEPT_USAGE meant to be used? b) "Deprecated Concept Checking Classes" "For each of the concepts documented here, the library includes an identical concept checking class whose name ends in "Concept" For example, in addition to RandomAccessIterator, the library defines a RandomAccessIteratorConcept class template." It sounds like this means that I shouldn't expect to find "WritableIteratorConcept" but in fact in "interator_concepts.hpp" find just that. I'm assuming that's an oversight. c) except for the above, the Range library uses things like ForwardTraversal and ForwardTraversalConcept the iterators library uses ForwardTraversal only. d) the iterators concepts are in the root namespace boost_concepts while the range concepts are in the root namespace boost. e) boost/range/concepts.hpp includes the file boost/iterator/iterator_concepts.hpp All this makes it very hard to keep all this straight in one's head. Is there any possibility that all this could be made simpler to follow by some combination of documentation improvements and/or namespace coordination? Robert Ramey