create @@envstack lazily; replace Meta with OpenStruct
isolate @@envstack to one method
how was deepcopy() working before? maybe it wasn't...
move T#halo_offsets into sms_fortran.rb
confine @@envstack access to parser context; attach env to nodes that need it