I've also played around with writing my own dataclass/data conversion library: https://github.com/hexane360/pane