## Writable vs Writable>> **Use `Writable` by default:** ```typescript import { handler, Writable } from 'commontools'; interface Item { title: string; done: boolean; } const addItem = handler }>( (_, { items }) => { items.push({ title: "New", done: false }); items.set(items.get().filter(x => !x.done)); } ); ``` **Use `Writable>>` only when you need `.equals()` on elements:** ```typescript import { handler, Writable } from 'commontools'; interface Item { title: string; done: boolean; } const removeItem = handler< unknown, { items: Writable>>; item: Writable } >((_, { items, item }) => { const index = items.get().findIndex(el => el.equals(item)); if (index >= 0) items.set(items.get().toSpliced(index, 1)); }); ```