  const Handle<StringPrimitive> &strPrim() const {
    assert(isHandle_ && "must be a handle");
    // Need to go through a variable to placate gcc4.9.
    const char *buffer = strPrim_.buffer;
    return *reinterpret_cast<const Handle<StringPrimitive> *>(buffer);
  }
  const Handle<StringPrimitive> &strPrim() const {
    assert(isHandle_ && "must be a handle");
     
    const char *buffer = strPrim_.buffer;
    return *reinterpret_cast<const Handle<StringPrimitive> *>(buffer);
  }