Term initialising usually refers to languages with manual memory management, but here it's used in context of definig it standalone.
Regarding Maybe functor, Unit represents a slot with a value inside while Void represents empty box:
The same way it works for List and Nonempty List:
But the easiest way is to use literal package: