The closest is this (Take note that your casts of wrapper usually are not required when you make self posonly), but it really breaks typing for self.funct. if you do not will need that attribute or are Alright with it remaining possibly incompatible (the only method of getting that will be to parametrize with-args kind explicitly), that should work