split out dynamic cast tests
run postsets right before main, and after the memory initializer has been set up
only emit postsets in pre and when they actually exist