Dusty,
I actually had the same issue and brought this up with Ken Barber at
PuppetConf. I believe he and several others have looked into this briefly
but nothing much has come from it. There was a puppet bug report where
another user had managed to have it take arrays without too much
Business logic aside the biggest issue for me is that it is difficult to
find the free software version without knowing any better.
As mentioned in this thread most distributions handle packaging Puppet
nicely, as does rubygems.
However a very good example is puppet 3.0 rc. I had been