Refactor to use cl structs instead of plain lists

The update docstring functionality is yet to be completed
Add support for updating docstrings