You really shouldn't be able to play cards that require you to discard if you don't have any cards in your hand to discard. This is especially true in Warlock decks because they have so much draw power. Warlock decks can completely overextend to gain control of the board, then they get to play broken cards without discarding, which gives them even better control of the board, then they can just use their superior draw power to regain card advantage. The best way to fix this is to make discarding a cost of playing the card. Like, you literally can't play the card unless you first discard the appropriate amount of cards.
Am I completely wrong about this, or what?