public static final function improve(array $Source, $keys, $value): array {
		return count($keys = array_filter(self::simplify(array_slice(func_get_args(), 1, func_num_args() - 2)))) > 0
			? (array_merge($Source, [$keys[0] => self::improve(self::cast(self::get($Source, $keys[0], [])), array_slice($keys, 1),
				Arr::last(func_get_args()))])): self::push($Source, $value);
	}