Did we intend to support C void* function results? Assumed-type objects cannot be function results. Is C_PTR good enough for this purpose? If so, why is it not good enough for void* parameters? I.e., why did we need TYPE(*)?