Thanks Henrik, I created a sample, here's what you need to reproduce the error (which is mentioned at the bottom)
function function test::myfunc(Struct[{ propertya => Hash[String, Struct[{propertya_1 => Array[Integer], propertya_2 => Array[String]}]] }] $sample { 1 } hieradata classes: - test myhash: something: propertya: propertya_1: -1 -2 propertya_2: - "foo" manifest (for module test) class test { $empty_hash = {} $data = hiera_hash("myhash", $empty_hash) $output = $data.reduce(0) |$memo, $value| { test::myfunc($value[1]) } notify{"Value is ${$output}":} } Error received: *"Evaluation Error: Error while evaluating a Function Call, 'test::myfunc' parameter 'sample' struct member propertya expects a Hash value, got Struct at init.pp:8:5"* -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/fb0d655b-d586-4e67-a204-407016dd7480%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.