All Items Unattached Code template contract predicate to ensure a chained container structure has only attached items Eiffel Software all_unattached Eiffel code contract invariant precondition postcondition An attached chain container entity