ReasonablyTyped
ReasonablyTyped copied to clipboard
New optimizer stage: collect unused statements
If a statement is unused after some other optimizer stage, we should remove it. For example:
/* union type shim... */
external something a::[ | `String string | `Number float ] => float = "" [@bs.module "m"];
The union type shim should be removed because the union was inlined already.