https://cairopractice.com/posts/storing-user-defined-types-pt-2/
Storing user defined types, part 2 - Cairopractice