code: func ParseYAML(source []byte) (map[string]interface{}, error) {
  	var cfg interface{}
  	if err := yaml.Unmarshal(source, &cfg); err != nil {
  		return nil, err
  	}
  	cfgMap, ok := cfg.(map[interface{}]interface{})
  	if !ok {
  		return nil, errors.Errorf("Top-level object must be a mapping")
  	}
  	converted, err := convertToStringKeysRecursive(cfgMap, "")
  	if err != nil {
  		return nil, err
  	}
  	return converted.(map[string]interface{}), nil
  }
docs: // ParseYAML reads the bytes from a file, parses the bytes into a mapping
  // structure, and returns it.