This is so we can slice a TypeTuple
For TypeFunction, nextOf() can return NULL if the function return type is meant to be inferred, and semantic() hasn't yet ben run on the function. After semantic(), it must no longer be NULL.
See Implementation
This is so we can slice a TypeTuple