So then we had...

interface Stringer {
  String stringify(Integer i);
}

Iterable<String> stringifyConvert(Iterable<Integer> x, Stringer s) {
  Collection<String> y = new LinkedList<String>();
  for(Integer i : x)
    y.add(s.stringify(i));
  return y;
}