code: def process_check(pool,model,field,version):
    "helper for do_check. version is an integer or null. returns ..."
    try: syncable=model[field]
    except pg.FieldError: return ['?field']
    if not isinstance(syncable,syncschema.Syncable): return ['here',None,syncable]
    if syncable.version()>version: # this includes version=None. this is the load case as well as update.
      return ['here',syncable.version(),syncable.generate()] # 'here' as in 'here, take this' or 'here you go'
    elif syncable.version()==version: return ['ok',version]
    elif syncable.version()<version: return ['upload',syncable.version()]
    else: raise RuntimeError("shouldn't get here"f process_check(pool,model,field,version):
    "helper for do_check. version is an integer or null. returns ..."
    try: syncable=model[field]
    except pg.FieldError: return ['?field']
    if not isinstance(syncable,syncschema.Syncable): return ['here',None,syncable]
    if syncable.version()>version: # this includes version=None. this is the load case as well as update.
      return ['here',syncable.version(),syncable.generate()] # 'here' as in 'here, take this' or 'here you go'
    elif syncable.version()==version: return ['ok',version]
    elif syncable.version()<version: return ['upload',syncable.version()]
    else: raise RuntimeError("shouldn't get here")
docs: helper for do_check. version is an integer or null. returns ...