Could you clarify what the difference between “discard” and “hide” is, in practice? For instance, if I wanted to hide an UI element until the user activates it, which keyword would I use, and in which scenarios would I use the other keyword?