StaticStringValue should represent a string, not a []byte
I have it in my mind that it's important for the parser to not return a slice
of the underlying template, else it'll get unexpectedly pinned in memory.
Not sure if there's a good way to achieve this...or maybe it doesn't matter.
Special case []string for Contains check.

Other array types now use the EqualsComparator on Contains, instead of the
more generic ToBytes() check. This is slower, but should make Contains
consistent with Equals, which seems like a really good thing. Also, I think
Equal's performance can be improved.