use OriginIntrinsicMetadataRow in the storage interface instead of dicts.
also add typing to some test functions