can store None in variant, seed can be a None
Merge branch 'develop' into rate