A simple and flexible way to curry functions, preserving this.
A class where its instances are classes