API: disallow dates in reduction operations
CLN: refactor into a class decorator