Migrate from records to structs
Get rid of `CaptureIO`