A decompiler from binary format, that formats into the text representation.
This decompiler requires a valid module (validation is performed by the decompiler)
to be able to work. It uses the fact that all types are valid to smartly use
the folded syntax for all operators and function calls.
This decompiler also takes advantage of the custom name section if present
to add identifier to the output.