i am not 100% sure why, but it seems like the python API sets a assembly-level increasing mask id, meaning when creating batched badges, the mask id is increasing for each badge created, but reset for a new run.
Not sure why not just create and GUID for the id, maybe we imnplement it like that and slightly deviate from a direct port here because i really dont understand why this is done.
The aim is to do test-driven development (TTD). For this, a bunch of tests are needed.
Implement the unit tests from the Python repository and convert them into F#.