Both Proto and Xpressive have "ignore_unused" templates in their
detail headers, and both were getting included, causing overloading
ambiguities. There is probably a major cleanup to do here, moving to a
single "ignore_unused" in boost/detail, but for now I've rectified the
problem by describing importing Proto's ignore_unused() into Xpressive
rather than defining a new one.