Hm, on second thought, a `Path` may not make sense for windows, so for now we should probably keep returning a `CString`. The return value of this function should be a `CString` which owns its memory, however (probably via `strdup`)