#[macro_export]
macro_rules! path {
    () => {
        ::std::path::PathBuf::new()
    };

    ($initial: expr) => {
        ::std::path::PathBuf::from($initial)
    };

    ($initial: expr, $($extra: expr),* $(,)*) => ({
        let mut path = ::std::path::PathBuf::from($initial);

        $(
            $crate::path::util::__for_internal_usage_only_append__(&mut path, $extra);
        )*

        path
    });
}