sclass StringWithMeta > Meta is CharSequence { S text; // final. not null *() {} *(S *text, bool dummy) {} // arbitrary signature to prevent accidental calling public int hashCode() { ret _hashCode(text); } public bool equals(O o) { ret this == o; } // This drops the meta toString { ret text; } // implementation of CharSequence methods public int length() { ret text.length(); } public char charAt(int index) { ret text.charAt(index); } public CharSequence subSequence(int start, int end) { ret text.substring(start, end); } }