This is a way to get polymorphic behaviour for operator <<.