whole_func_string: function(data) {
      return qs.stringify(data, {serializeDate: function (d) { return Math.floor(d.getTime() / 1000); }})
        // Don't use strict form encoding by changing the square bracket control
        // characters back to their literals. This is fine by the server, and
        // makes these parameter strings easier to read.
        .replace(/%5B/g, '[').replace(/%5D/g, ']');
    }
func_code_string: function(data) {
      return qs.stringify(data, {serializeDate: function (d) { return Math.floor(d.getTime() / 1000); }})
        // Don't use strict form encoding by changing the square bracket control
        // characters back to their literals. This is fine by the server, and
        // makes these parameter strings easier to read.
        .replace(/%5B/g, '[').replace(/%5D/g, ']');
    }
func_documentation_string: Stringifies an Object, accommodating nested objects
  (forming the conventional key 'parent[child]=value')