docs: def PlistValueToPlainValue(plist):
    """Takes the plist contents generated by binplist and returns a plain dict.
  
    binplist uses rich types to express some of the plist types. We need to
    convert them to types that RDFValueArray will be able to transport.
  
    Args:
      plist: A plist to convert.
  
    Returns:
      A simple python type.
    """
  
    if isinstance(plist, dict):
      ret_value = dict()
      for key, value in iteritems(plist):
        ret_value[key] = PlistValueToPlainValue(value)
      return ret_value
    elif isinstance(plist, list):
      return [PlistValueToPlainValue(value) for value in plist]
    elif isinstance(plist, datetime.datetime):
      return (calendar.timegm(plist.utctimetuple()) * 1000000) + plist.microsecond
    return plist