This project allows you to create lists of lists, N-dimensional arrays, tree structures, and many other dynamic data structures. It achieves this using a custom heap allocator, making dynamic memory management possible in Scratch. Unlike normal Scratch lists, data structures can be created and destroyed dynamically at runtime. Features: • Dynamic memory allocation (Malloc / Free) • Automatic free-block coalescing • Segregated free lists • Dynamic lists built on top of the allocator • Support for lists of lists and tree structures Malloc & Free: Malloc(num): Allocates space for num items and returns the starting address in @Address. The address corresponds to the index of the first allocated element inside the @Heap list. Free(address): Frees a previously allocated block of memory, allowing it to be reused by future allocations. Notes: This project took approximately two weeks to develop due to the large number of bugs and edge cases involved in implementing a heap allocator. If you find the project useful, a love and favorite would be appreciated!