}
template <class A>
-typename enable_if<is_iterable<A>::value && !is_same<A,string>::value, ostream>::type &
+typename enable_if<is_const_iterable<A>::value && !is_same<A,string>::value, ostream>::type &
operator<<(ostream &o, const A &a) {
return o << "[" << implode(a, ", ") << "]";
}