Marker interface ReturnInstruction extracted
Useful method extracted + visiting strategy added
InstructionVisitorWithResult introduced
Subroutine exit knows when it's an error