better handle void and dynamic in outline