Chris Cain:
From your error message: isForwardRange!SeparatorYour separator is a character, which isn't a forward range. Try this:`auto name1 = joiner(nameparts[0 .. $-1], ".");`
But splitting on a char is a common operation, and isn't it more efficient than splitting on a string?
Bye, bearophile