anchor.diff:  /**
    * search() is the proc you call to kick off and handle the actual pathfinding, and kills the pathfind datum instance when it's done.
    *
  - * If a valid path was found, it's returned as a list. If invalid or cross-z-level params are entered, returns FALSE.
  - * If no valid path is found, returns an empty list, which is important for simple bot mobs who rely on an empty list meaning no path found.
  + * If a valid path was found, it's returned as a list. If invalid or cross-z-level params are entered, or if there's no valid path found, we
  + * return null, which [/proc/get_path_to] translates to an empty list (notable for simple bots, who need empty lists)
    */
   /datum/pathfind/proc/search()
   	start = get_turf(caller)
   	if(!start || !end)
   		stack_trace("Invalid A* start or destination")
  -		return FALSE
  +		return
   	if(start.z != end.z || start == end ) //no pathfinding between z levels
  -		return FALSE
  +		return
   	if(max_distance && (max_distance < get_dist(start, end))) //if start turf is farther than max_distance from end turf, no need to do anything
  -		return list()
  +		return
   
   	//initialization
   	var/datum/jps_node/current_processed_node = new (start, -1, 0, end)
  
positive.code: 	qdel(pathfind_datum)
  
  	SSpathfinder.mobs.found(l)
  	return path
  
  /**
   * A helper macro to see if it's possible to step from the first turf into the second one, minding things like door access and directional windows.
   * Note that this can only be used inside the [datum/pathfind][pathfind datum] since it uses variables from said datum
   * If you really want to optimize things, optimize this, cuz this gets called a lot
   */
  #define CAN_STEP(cur_turf, next) (next && !next.density && cur_turf.Adjacent(next) && !(simulated_only && SSpathfinder.space_type_cache[next.type]) && !cur_turf.LinkBlockedWithAccess(next,caller, id) && (next != avoid))
  /// Another helper macro for JPS, for telling when a node has forced neighbors that need expanding
  
negative.code:  */
  
  /**
   * This is the proc you use whenever you want to have pathfinding more complex than "try stepping towards the thing".
   * If no path was found, returns an empty list, which is important for bots like medibots who expect an empty list rather than nothing.
   *
   * Arguments:
   * * caller: The movable atom that's trying to find the path
  