MLton 20210117

# RemoveUnused

RemoveUnused is an optimization pass for both the SSA and SSA2 IntermediateLanguages, invoked from SSASimplify and SSA2Simplify.

## Description

This pass aggressively removes unused:

- datatypes

- datatype constructors

- datatype constructor arguments

- functions

- function arguments

- function returns

- blocks

- block arguments

- statements (variable bindings)

- handlers from non-tail calls (mayRaise analysis)

- continuations from non-tail calls (mayReturn analysis)

## Implementation

- remove-unused.fun

- remove-unused2.fun

## Details and Notes