code: def normalize_params(params):
      
      # Collect a set of all fields
      fields = set()
      for p in params:
          fields.update(p)
      fields = sorted(fields)
  
      params2 = list(pluck(fields, params, MISSING))
      # Non-basic types (including MISSING) are unique to their id
      tokens = [
          tuple(x if isinstance(x, (int, float, str)) else id(x) for x in p)
          for p in params2
      ]
  
      return fields, tokens, params2
docs: Take a list of dictionaries, and tokenize/normalize.