commons bynk.string {
---
Concatenates `parts` into one string, inserting `sep` between adjacent
elements. Returns the empty string for an empty list.
---
fn join(parts: List[String], sep: String) -> String {
let init: Option[String] = None
parts.fold(init, (acc, p) => match acc {
Some(s) => Some(s.concat(sep).concat(p)),
None => Some(p),
}).getOrElse("")
}
}