pub fn to_program(self) -> Result<Program, VMError> {
        match self {
            Data::Opaque(data) => Program::parse(&data),
            Data::Program(program) => Ok(program),
            _ => Err(VMError::TypeNotProgram),
        }
    }
/// Downcast the data item to a `Program` type.
Downcast the data item to a `Program` type.
Downcast the data item to a ` Program ` type .
pub fn to_program(self) -> Result<Program, VMError> {
        match self {
            Data::Opaque(data) => Program::parse(&data),
            Data::Program(program) => Ok(program),
            _ => Err(VMError::TypeNotProgram),
        }
    }
pub fn to_program ( self ) -> Result < Program , VMError > { match self { Data :: Opaque ( data ) => Program :: parse ( & data ) , Data :: Program ( program ) => Ok ( program ) , _ => Err ( VMError :: TypeNotProgram ) , } }
Downcast the data item to a `Program` type.
Downcast the data item to a ` Program ` type .
self
self