previous | start | next

## Completeness

- Support operations that are well-defined on abstraction
- Potentially bad example: `Date
  `

      Date start = new Date();
      // do some work
      Date end = new Date();

- How many milliseconds have elapsed?
- No such operation in `Date` class
- Does it fall outside the responsibility?
- After all, we have `before`, `after`, `getTime`

previous | start | next