clearstream
(He, Him)
What matters is whether the set attempt() == the set result(). Consider an attempt that I can succeed or fail at - like climbing a perpendicular wall? I cannot fail to make the attempt, but I can fail to climb the wall. In that case, it seems like result() has different contents than attempt().But consider the analogy. Trying to climb something that is impossible to climb (a sheer glass wall with no ropes etc) means you cant climb it.
You can attempt to, but you fail.
So if you cant hide in something (dim light) you cant therefore be hidden in it. You can attempt to, but you fail.
If you cant swim in a slab of rock, you cant be swimming in it. You can attempt to, but you fail.
I mean it's plain language we're using here. If any attempt to do the task is impossible, you cant do the task.
It might be like saying - you can only attempt to turn yourself into a goldfish when it is raining, but rain or shine once you are a goldfish you can remain one. This is peculiar, but I am not arguing for realism here, only for what the RAW could possibly entail.
Typically what becomes accepted as absurd is just what happens to satisfy the beliefs and expectations of some or other empowered group. But in RPGs, we already have absurd results - a person can turn into a fish - and at our table we are the decisively empowered group. I point this out not to say that I disagree with the absurdity, but rather that I disagree that such an argument is necessarily persuasive.The RAW is not trying to set up some absurd situations (which is what you end up with if you follow @Iry interpretation).
In Law we have a rule of interpretation of legislation. If two possible interpretations are available, and one leads to an absurd result, we accept the one that doesn't.
You have not left your hiding spot, because your hiding spot extends into lightly obscured squares. One way to think about it is as two new conditions that a creature can possess. The first is "can hide" - a creature possessing this condition can make an attempt to hide. The second is "can remain hidden" - a creature possessing this condition can remain hidden. A creature may possess none, one or both of these conditions.Yes, but the PHB also specifically defines hidden as 'unseen and unheard' so when you become hidden, you become unseen and unheard.
How do you remain unseen and unheard, when you leave a hiding spot, and approach someone who can now see you, such as by moving through heavy rain straight towards them as they stare straight at you?
However, inadvisable they may be, it would be straightforward to create such mechanics in a tool like Unreal or Unity. One way would be to have something check what tile a creature is in, and update the condition based on properties of that tile. There could be other properties - "half move", "zero move" and so on, and perhaps volumetric effects - e.g. fog or lighting - would be taken into account. The point is, from the perspective of a consistent set of game mechanics there is nothing impossible going on here.
Which as it happens is a point already conceded, in supposing that there can be creatures that can remain hidden in squares that are lightly obscured. Seeing as a skulker can sneak directly toward a searcher if lightly obscured, it seems mistaken to argue that it's impossible for creatures to do so. Rather one should argue that skulker shouldn't be robbed of meaning... which so far everyone agrees with.