using template functions for operator<<() now