fix String? and UniString? for non-sequence types
proper predicate in cCast for sequences
use StringRef where possible

... instead of IdentifierPtr