When we teach people Puppet, we usually start from the DSL: Here's how you can create a file. This is how you add a user. You can install all kinds of packages. Then as soon as they discover `exec`, it all goes downhill for those who think it's just like bash!
Puppet's true power lies in its types. Rather than trying to shield beginners from those, we want to expose them to types as early as possible.
In this [failed] experiment, I want to do exactly that. I invite complete beginners to join us and learn more about Puppet's internals. Once we're able to answer the "why", the "how" will come naturally!
http://puppetconf2014.sched.org/event/a31d2618732af4046cbc474e71030c41