 I almost can't believe we're doing this again, but we are. Apparently, he doesn't think I understand how his set works. So he's explaining it like I'm five years old. And, uh, there's something I noticed when I asked here. Uh, how would you propose basic set operations, such as those I outlined in my video, against your set? Such as the existence of a value against the set, or taking a subset. Now, he does explain roughly, although this is one of the most convoluted clusterfucks I've ever seen, and is like the kind of... is like the MIT approach to anything. Let's make it insanely more complicated than it needs to be for job security reasons. Yeah, I don't... I don't program like that. Uh, but what I noticed is the taking a subset part, he never answered. Now, I've done a lot of sales. I know that little trick. You leave out things that your product or whatever doesn't do well. You know, at least in sales, the FTC will come hammering down on your ass because that's false advertising. This doesn't even come close to anything commercial, so... It's just a guy talking at his ass and avoiding some of the flaws in his own thing, because he doesn't hope so forget about him. I'm not. I'm not. So let's do this. I got his set as the way he laid it out for me in the most recent comment, and just some basic stuff to set up actually querying against it as human input and not hard-coded stuff, just to make sure this actually works. And I don't want to time it against mine. Now, you might be saying this seems like a lot of setup, just for these, and you're right, but we'll get to that in a bit. Yeah, we'll compile the whole thing, that's fine. Compile mine, too. So I'll give him some credit. This works a little bit better than I was giving him credit for before. It works. There's still this freaking comment, though. Like, even by his own wording, I've already proved him wrong, so I'm not really sure the guy understands what the hell he's talking about. But you can see this does work, so alright. It just seems awfully verbose. All this... All this... It seems like there's a lot more going on here than it should be. And there is a lot more than should be. We hop back to his real quick. This is basically where he should have stopped. The rest of this is completely unnecessary. But where he was actually going in and modifying it to set H to yes, we can just define another subset with the static predicate. You know, subsets are remarkably easy using my approach. It could be done with ranges, and if this was, you know, say a little group of contiguous basic Latin characters, it could be done with just another range clause. But because this is just a single one, or if they were scattered around, you have to do that with a static predicate instead. But still, subtypes are remarkably easy to define. Similarly, actually checking against the set is just this. We'll go back to what this guy was doing. Not to mention you got to get back to the... Yeah, it... Yeah. Have fun with that shit. We just got this. Isn't that nice, elegant? What are you checking for? In. And what are you checking for it in? That's it. He's talking about wanting to take advantage of operator overloading for implementing other things. Like, why? The whole point of this video was showing off that Aida already supports sets. And he's talking about how to implement sets using techniques that would be required in other languages. Aida already supports them. That's the point. There's nothing you need to take advantage of operator overloading-wise. They're already in the fucking language. And just in case you're thinking I'm pulling a fast one on you, H comes out to true, A comes out to false, exactly as we did before. And then, to get to the whole reason I have those timers in there, every single time. Mine takes less, even though it's evaluating against what is conceptually the same set and performing the same thing against that set. So there's another thing to show when it comes to his approach to sets. We know that with any discrete type in Aida, you can call the range attribute and essentially iterate over the entire range of the type of the set. And using some text.io stuff, print out every single value within the set. Now, get into some issues here, iterating over the actual set as what you would expect to happen doesn't happen. So let's go over the range. Okay, so we're getting set elements. Oh, right, right, right. That's online 19? Yes. So if we do convert this to a character. That's not the set. I guess lastly, since these are a prime example of sets and happened to be what I was writing when I got the comment, I'd like to see him implement this level of stuff, this cleanly, using his.