public static final function clear(array $Source, $keys): array {
		return count($keys = self::simplify(array_slice(func_get_args(), 1))) > 0 ? (count($keys) > 1
			? array_merge($Source, [$keys[0] => self::clear(self::cast(self::get($Source, $keys[0], [])),
				array_slice($keys, 1))]) : self::except($Source, $keys[0])): $Source;
	}
public static final function clear(array $Source, $keys): array {
		return count($keys = self::simplify(array_slice(func_get_args(), 1))) > 0 ? (count($keys) > 1
			? array_merge($Source, [$keys[0] => self::clear(self::cast(self::get($Source, $keys[0], [])),
				array_slice($keys, 1))]) : self::except($Source, $keys[0])): $Source;
	}
public static final function clear ( array $ Source , $ keys ) : array { return count ( $ keys = self :: simplify ( array_slice ( func_get_args ( ) , 1 ) ) ) > 0 ? ( count ( $ keys ) > 1 ? array_merge ( $ Source , [ $ keys [ 0 ] => self :: clear ( self :: cast ( self :: get ( $ Source , $ keys [ 0 ] , [ ] ) ) , array_slice ( $ keys , 1 ) ) ] ) : self :: except ( $ Source , $ keys [ 0 ] ) ) : $ Source ; }
Removes an element from an array by the path defined
by the sequence from the second argument to last one.

@param array $Source
@param mixed $keys, ...
@return array
Removes an element from an array by the path defined by the sequence from the second argument to last one .