! similar to what "array_count_values" in php does. : count-seq ( seq -- seq' ) dup '[ _ swap '[ _ = ] count ] map ; ! fry first, map second ... i think :) : count-dups ( seq -- seq ) dup count-seq zip prune >array ;