JoinToString refactoring + specs