* Generate structs for structs and fix struct out parameter if known * fmt
* Do not redefine interfaces. * Improve code style, readability and performance after initial code review * Implemented unit tests for the interface inheritance * Cleaned up unit tests. * Completely remove output helper.