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);
	}
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);
	}
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 ) ; }
Adds the last given argument into an array following the specified path
defined by the sequence from the second argument to the penultimate one.

@param array $Source
@param mixed $keys, ...
@param mixed $value
@return array
Adds the last given argument into an array following the specified path defined by the sequence from the second argument to the penultimate one .