code: function customFragment (token, tokens) {
    let escaping = false
    let fragment = ''
    token = tokens.shift() // remove opened {
    while (true) {
      if (!token) {
        throw new Error('A custom fragment requires "}" to terminate')
      }
      if (escaping) {
        if (includes('{}', token)) {
          fragment += token
        } else {
          fragment += `\\${token}`
        }
        escaping = false
      } else if (token === '\\') {
        escaping = true
      } else if (token === '}') {
        break
      } else {
        fragment += token
      }
      token = tokens.shift()
    }
    return { _type: customFragment.name, fragment }
  }
docs: start with "{", ends with "}". Need to escape {}