io: add format operator|