- push @{ $level->{objects} }, { %$_, type => 2 } for map { $level->{$_} ? @{ $level->{$_} } : () } qw(objectlines);
- push @{ $level->{objects} }, { %$_, type => 3 } for map { $level->{$_} ? @{ $level->{$_} } : () } qw(objectboxes);
+ ref $_ eq 'ARRAY' and push @{ $level->{objects} }, @$_
+ for map { delete $level->{"objects$_"} } 2, 3;