Can't we do the other way around, start supporting case objects properly across compile-time to runtime boundary?
That would be very useful for both [nimbus](https://github.com/status-im/nimbus/blob/78714295dab4ead5e56c0048c46ae07d8bbed91a/nimbus/vm/interpreter/gas_costs.nim#L360-L361), as a core component is a let and instead could be inline as a const, and Laser where I defined my own AST to be used at runtime (with LLVM) and compiletime (with Nim macros) and not being able to cross the boundary would be a restriction.