features from puppetlabs stdlib backported to work with v3.2.0 of stdlib