* finish macros for structs * create before canonicalize * fix locking behaviour to use single db exclusively * clean up tests * punting on enums for now * reorganize codebase * metadata and formatting