Yeah, I'm not sure if I will keep all this at all. This code won't be executed anyway, because `_do_type_check` is `False`. Adding simple type checking isn't that big deal. However, one thing is that decorators are pain to work with (debugging) and Python's execution model is quite limiting. Decorator doesn't have class access and can't reference class name. It would be great to use annotations, but obviously no one cared to backport this to 2.7. Also, it looks like `wraps` doesn't do very good job, but there is `decorator` module (to try).