RefString = ref object s*: string
proc `$`(rs: RefString): lent string {....raises: [], tags: [], forbids: [].}
proc fromJS(ctx: JSContext; val: JSValueConst; rs: var RefString): FromJSResult {. ...raises: [], tags: [], forbids: [].}
proc len(rs: RefString): int {....raises: [], tags: [], forbids: [].}
proc newRefString(s: sink string): RefString {....raises: [], tags: [], forbids: [].}
proc toJS(ctx: JSContext; rs: RefString): JSValue {....raises: [], tags: [], forbids: [].}
template `&=`(rs: var RefString; ss: string)
template `[]`(rs: RefString; i: int): char