Advanced Blocks
Instead of using a str typed as Block. Use an abstract Class Placeable, which has the subclasses Block similar to the previous Block and BlockRandomizer which has multiple Blocks which get placed randomly. Also BlockBag, which chooses a random Block out of a Bag of Blocks until the Bag is empty and gets refilled with the Blocks again similar to the Tetris Bag.