use pre-post-order* to avoid apply limit
bump to 0.4.5