not to depend on YAML::XS/List::MoreUtils