(defrecord Const [value]
IInstruction
(reads-from [this] [value])
(writes-to [this] [(:id this)])
(block-references [this] [])
IEmittableInstruction
(emit-instruction [this state-sym]
(if (= value ::value)
`[~(:id this) (aget-object ~state-sym ~VALUE-IDX)]
`[~(:id this) ~value])))