func (l *List) equals(o types.IterableContainer) bool {
	if l.Size() != o.Size() {
		return false
	}
	for v, next := l.Items()(); next != nil; v, next = next() {
		item := v.(types.Hashable)
		if !o.Has(item) {
			return false
		}
	}
	return true
}