Appearance
first: () => T
last: () => T
contains: (target: T) => boolean
remove: (target: T) => void
shuffle: () => this
unique: () => T[]