pub fn store_into_destination(&mut self, value: LiteralOrSource, destination: Destination) {
($($(#[doc = $doc:expr])* $name:ident $variant:ident {$($field:ident: $type:ty),+$(,)?});+$(;)?) => {
($($(#[doc = $doc:expr])* $name:ident $variant:ident ($($field:ident: $type:ty),+$(,)?));+$(;)?) => {
) -> Result<Option<crate::Instruction<<S::Environment as Environment>::Intrinsic>>, LinkError>
Instruction::Push(value) => crate::Instruction::Push(value.instantiate::<S::Environment>()),