The yaml configuration and the macro configuration were creating different data structures, which was dumb. My yaml example now creates a hash, just like the macro. Hashes all the way down.