generic proc type works again