I tried to write a simple program in Forth that needed to keep track of a list of pairs of numbers and after coming up against many issues I asked online in a Forth group and was told that Forth simply isn't suited for such programs (programs that need to work with dynamically sized amounts of arbitrary data). Maybe this is also true for your case
that is maybe an exaggeration but forth is certainly more designed for reactive systems than transformational ones
video games and motor controllers rather than computer algebra systems
the difficulties are the same as in c: you have to do your reallocation and deallocation and probably hashing manually
a surprising number of such problems turn out to work well enough if 'dynamically sized' becomes '1 billion or less' which simplifies the memory management dramatically
and you can write theorem provers and optimizing compilers and stuff in forth; it just isn't its strong point