xx must be an optional argument (manipulators with no extra state need not implement it)