go: combine checks for byte arrays
go: if we need to track something, do so before we recurse
go: class names and regexp pieces need to be bytes, not utf8 strigns