puppetlabs/puppetlabs-stdlib — pull request #212 by Savar (2013-12-13 11:02:18+00:00)
Title: concat was changing puppet variable

if you tried something like this:

$somevar = [ 'a', 'b' ]
$othervar = [ '1', '2' ]

$combined = concat($somevar, $othervar)

then this would change $somevar as well:

fail(inline_template('<%= @somevar.inspect %>'))

would become

['a', 'b', '1', '2']

that's violating the "non changeable variable approach" of puppet.. (and was in our case an unexpected behavior)