remove Instruction InstructionSource duplication
extract builder to encapsulate defaults
use builder to customise symbolic vm
remove duplication between construction of symbolic and concrete VM
reduce indirection
create instruction graph immediately
use builder to simplify inital instruction build
don't use the checking heap unless assertions are enabled