Is it possible to express concepts like closure, promoted constants, enum, struct/impl/trait, etc. in custom MIR?
Types you have to declare outside of the custom MIR bodies. MIR only applies to function bodies. Closures and promoted constants are not representable I think.