def parse_serialdiff(sd_dict):
  "helper for translate_check"
  if isinstance(sd_dict,list):
    if len(sd_dict)!=2 or sd_dict[0]!='checkstale': raise NotImplementedError(sd_dict[0],len(sd_dict))
    return CheckStale(sd_dict[1])
  if isinstance(sd_dict['deltas'],list): # i.e. for VHString the whole deltas field is a single string
    # warning below: Delta.text will be a list sometimes. always?
    sd_dict['deltas']=[diff.Delta(d['slice']['a'],d['slice']['b'],d['replace']) for d in sd_dict['deltas']]
  return SerialDiff(**sd_dict)
helper for translate_check