Various reusable data structures