Minor refactoring and additional comments
Allocating and freeing maybes

Macros for simple allocation and freeing of maybe values:

* malloc_struct_maybe_of()
* malloc_typedef_maybe_of()
* malloc_struct_maybe_ptr_of()
* malloc_typedef_maybe_ptr_of()
* free_just()
* free_ptr_just()
* free_maybe_ptr()

This is just an experiment, we'll see if it's useful in practice.