What is a pointer types region when its omitted?
Every pointer type has a region; if you omit it, the compiler chooses a region name you implicitly. The name chosen depends on where the pointer type occurs. In function arguments, a fresh region variable is used. In function results and type definitions (including typedef), the heap region (`H) is used. In function bodies, the compiler looks at the uses (using unification) to try to determine a region. See Section 2.3 and Section 8 for more information.