code: func debugLogAsJSON(frmt string, args ...interface{}) {
  	if Debug {
  		var dfrmt string
  		_, file, pos, _ := runtime.Caller(1)
  		dargs := make([]interface{}, 0, len(args)+2)
  		dargs = append(dargs, filepath.Base(file), pos)
  		if len(args) > 0 {
  			dfrmt = "%s:%d: " + frmt + "\n%s"
  			bbb, _ := json.MarshalIndent(args[len(args)-1], "", " ")
  			dargs = append(dargs, args[0:len(args)-1]...)
  			dargs = append(dargs, string(bbb))
  		} else {
  			dfrmt = "%s:%d: " + frmt
  		}
  		generatorLogger.Printf(dfrmt, dargs...)
  	}
  }
docs: // debugLogAsJSON unmarshals its last arg as pretty JSON