You just need to implement `CustomValue`, `Debug` and `Clone` for your own types, and the type can be used in your code. Next on the list: method calls (e.g. x.y(), instead of y(x))