Split signature and bytecode generation into separate functions.

[Delivers #58145002]