<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

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")