///|
/// Collection helper functions
fn[T] print_list(
items : @list.List[T],
printer : (T, StringBuilder) -> Unit,
separator : String,
logger : StringBuilder,
) -> Unit {
let mut first = true
for item in items {
if not(first) {
logger.write_string(separator)
}
first = false
printer(item, logger)
}
}