Each function is named after the variable it resolves, so if you want further documentation see https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.htmlAny function that is supposed to return a colon-separated string returns a sequence of strings instead.
Procs
proc xdg_data_home(): string {...}{.raises: [], tags: [ReadEnvEffect].}
proc xdg_data_dirs(): seq[string] {...}{.raises: [], tags: [ReadEnvEffect].}
proc xdg_config_home(): string {...}{.raises: [], tags: [ReadEnvEffect].}
proc xdg_config_dirs(): seq[string] {...}{.raises: [], tags: [ReadEnvEffect].}
proc xdg_cache_home(): string {...}{.raises: [], tags: [ReadEnvEffect].}
proc xdg_runtime_dir(): string {...}{.raises: [], tags: [ReadEnvEffect].}