allow empty dict to Solver.__new__