With boost 1.47 (spirit 2.5) utree if officially part of a boost release.
Artem and I have discussed refactoring mapnik::value to move from variant to utree for performance gains: smaller, faster value access and potentially support for nested attributes. Might have implications for what is possible with expressions - also Carto C++ is already leveraging utree.
not actionable, closing.
future work should likely center around http://boost-spirit.com/home/2013/02/23/spirit-x3/ and https://github.com/djowel/spirit_x3 from @djowel. We can create new tickets that capture this when we move on it