Use covariant return types for Instruction::clone, and eliminate