Add InstructionPtr
abstraction (take 2)
#482
Merged
InstructionPtr
abstraction (take 2)
#482