support passing __self__ to nested