code: function calledAsTemplateTagQuick (firstArgument, argumentCount) {
    if (firstArgument && Object.isFrozen(firstArgument) &&
        Array.isArray(firstArgument)) {
      const { raw, length } = firstArgument
      return length === argumentCount && Boolean(raw) &&
        length === raw.length && Object.isFrozen(raw) &&
        Array.isArray(raw)
    }
    return false
  }
docs: True if the arguments are template function inputs.
  It is possible, but unlikely, for this function to return true when
  the caller is not a template literal.
  
  This is similar to {@code calledAsTemplateTag} but does not check
  that array elements are strings.
  
  @param {*} firstArgument The first argument to the function that may
  have been called as a template tag handler.
  @return true iff firstArgument might be an output from
  https://www.ecma-international.org/ecma-262/6.0/#sec-gettemplateobject
  and the number of dynamic arguments is consistent with a
  template call.