swap D E/fn/fn/fn