anchor.diff:  					break
   
   	var/list/finalized = list()
  -	finalized["data"] = accepted.Copy() + oldentries.Copy() //we keep old and unreferenced phrases near the bottom for culling
  +	finalized = accepted.Copy() + oldentries.Copy() //we keep old and unreferenced phrases near the bottom for culling
   	listclearnulls(finalized)
  -	if(!isemptylist(finalized) && finalized.len > storemax)
  +	if(!isemptylist(finalized) && length(finalized) > storemax)
   		finalized.Cut(storemax + 1)
   	fdel(log)
   
  -	log << json_encode(finalized)+	var/list/tosend = list()
  +	tosend["data"] = finalized
  +	log << json_encode(tosend)
positive.code: 			var/exclaim = FALSE
  			var/question = FALSE
  			var/periods = 0
  			for(var/pos = lentext(punctbuffer), pos != 0, pos--)
  				var/punct = copytext(buffer, pos, (pos + 1) % lentext(buffer))
  				if(!exclaim && punct == "!")
  					exclaim = TRUE
  				if(!question && punct == "?")
  					question = TRUE
  				if(!exclaim && !question && punct == ".")
  					periods += 1
  			if(exclaim)
  				if(question)
  
negative.code: 
  	var/list/accepted = list()
  	for(var/string in proposed)
  		if(findtext(string,is_website) || findtext(string,is_email) || findtext(string,all_invalid_symbols) || !findtext(string,alphanumeric))
  			continue
  		var/buffer = ""
  		var/early_culling = TRUE
  		for(var/pos = 1, pos <= lentext(string), pos++)
  			var/let = copytext(string, pos, (pos + 1) % lentext(string))
  			if(early_culling && !findtext(let,alphanumeric))
  				continue
  			early_culling = FALSE
  			buffer += let
  		if(!findtext(buffer,alphanumeric))
  			continue
  		var/punctbuffer = ""
  		var/cutoff = lentext(buffer)
  		for(var/pos = lentext(buffer), pos >= 0, pos--)
  			var/let = copytext(buffer, pos, (pos + 1) % lentext(buffer))
  			if(findtext(let,alphanumeric))
  				break
  