# Functional Sets, Part 9: Wrap-up

Our Set implementation is done! We just have a few things to wrap up.

## Get All the Posts

This was a long series! If you’d like to go through it again, or didn’t see all of the posts the first time, I’ve set up a way to get them by email. You’ll get them spaced out for easy digestion. Sign up at the bottom of this page, or any other of the series footers.

## Write Your Own `Dict`

There’s another fun experiment you can do now: build `Dict`

on top of what we’ve already got!

`Dict`

s are sets of keys associated with values.
In fact, core’s `Set`

is actually `Dict comparable ()`

.
All the Set functions there are wrappers over the `Dict`

functions.

Since we’ve already got key management, you’ll just need to write some code to retrieve values.
Core’s `Dict`

implementation will be a great reference (although it uses red/black trees instead of AVL trees.)
Here’s how you can change the `Set`

constructors to get started:

```
type Dict comparable a
= Tree Int comparable a (Dict comparable a) (Dict comparable a)
| Empty
```

## Thanks!

Finally, thanks so much for sticking with the series as we worked through how to build a set! Drop me a line at brian@brianthicks.com with any feedback, or to let me know what you’d like to see next!