(define-read-only (filter-item (l (list 100 uint)) (remove uint))
(get newList (fold remove-value l { compareTo: remove, newList: (list) }))
)
(define-private (remove-value (listValue uint) (trackerTuple { compareTo: uint, newList: (list 100 uint) }))
(merge trackerTuple {newList:
(if (is-eq listValue (get compareTo trackerTuple))
(get newList trackerTuple)
(unwrap-panic (as-max-len? (append (get newList trackerTuple) listValue) u100))
)
})
)
;; Example usage
(filter-item (list u1 u2 u3 u2 u4) u2) ;; Returns (u1 u3 u4)