Compile-time sequences of types are one of the basic concepts of C++ template metaprogramming. Differences in types of objects being manipulated is the most common point of variability of similar, but not identical designs, and these are a direct target for metaprogramming. Templates were originally designed to address this exact problem. However, without predefined mechanisms for representing and manipulating *sequences* of types as opposed to standalone template parameters, high-level template metaprogramming is severely limited in its capabitilies. The MPL recognizes the importance of type sequences as a fundamental building block of many higher-level metaprogramming designs by providing us with a conceptual framework for formal reasoning and understanding of sequence properties, guarantees and characteristics, as well as a first-class implementation of that framework |--| a wealth of tools for concise, convenient, conceptually precise and efficient sequence manipulation. .. copyright:: Copyright © 2001-2009 Aleksey Gurtovoy and David Abrahams Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)