but again, why addMetadata can't add keep to all sub types of the module?
because for Signal its very anoying to have to list all subtypes.
if addMetadata did this, i could auto include the module msignal.Signal with keep on the argument true, and if i keep a sub type the argument could be ineffective, and let the user do the inclusion as he wants. explaining that in the comments.
For me it would be the best solution, but i don't know how to change addMetadata.