 Decorators. Oops, put this on. So decorators. Decorators are useful. Decorators are easy to implement. Or are they? So decorators. Basically it's using the the act syntax there on the second function. Easy to construct a decor supposedly by creating another function which has an inner closure function. So most people would know about how to do that and they think it's all well and good, but that breaks introspection. Okay? Name and doc attributes are not preserved. So if you're going to start using help on doc strings it doesn't work. Doesn't func tools RAPS help this? No, it doesn't solve all the problems. Now it gets very complicated as to why and I'm definitely not going to go into this. I have killed people by doing a talk on this topic before. So all the details is covered on my blog. There's a series of about 12 posts on this. Like most people do an introductory decorator talk. Great! They have one little blog post this. I've got a dozen of them. Okay? Lots of traps. So please don't implement decorators yourself. Okay? What is the solution? Use RAPT. Okay? It's not much different. You're providing a function which is your wrapper, but you're using a decorator of mine which I actually think is even implemented in RAPT to actually implement your decorator. You can do lots of fancy things with this. You can't get out of normal decorators. Now one of the big problems in decorators is that it's very hard to write one decorator which can be applied to both a normal function and a member function of a class. RAPT allows that. There is ways in it you can tell if your wrapper has been applied to a normal function. A method of a class. A class method. Or it's the other one, static? Static method. Or now it's a class itself. There's a lot of magic going on. So if you don't trust me, why would you use it? I keep getting pestered to have RAPT rolled into the standard library. So I have people who in the core contributors for Python who think it's really good. So it must be awesome. You can find all docs or what docs there is upon read the docs. There should be lots and lots more because it's more than just a decorator library. You can do a whole lot of stuff and do monkey patching as well which is actually the original reason I created it. And if you're lucky, this is currently my fourth trip to Singapore this year but I'm back here again in a few weeks time and I've been talking to Martin about possible talk. So if we can get a meetup group happening please come along if you're interested in this. I think it was the 19th. It's the only day I'll be able to do it so if feelings come together that's when it would be. Which is I think a Tuesday. Thank you.