Please see the [attr-parser](https://github.com/boostorg/spirit/blob/x3-devel/include/boost/spirit/home/x3/auxiliary/attr.hpp), as you can see, it treats arrays specially, another example is char-parser, it treats "a" (i.e. char[2]) as a single char-string, so I must keep array, not just pointer (and for lifetime issues).