Introduce TypeBuilder for common generic types
Introduce marshaller
Fix Out and InOut semantics
Rework interface emission
Fix build