What are Capture lists?

Captures a list of variables including free variables in the body.

This is a property of IR.

Used for converting to SSA

Allows us to pack values into allocated closure.

Allows us to identify what is needed in a continuation.

Effectful operations happen inside an explicit effect monad; This is part of our IR’s AST.