sbool isValidFileName(S s) { ret nempty(s) && !eqOneOf(s, ".", "..") && all(characters(s), c -> isValidFileCharacter(c)); }