digraph {
graph [overlap=false]
subgraph cluster_MooseX_AttributeHelpers_Trait_Collection_Hash {
	label="MooseX::AttributeHelpers::Trait::Collection::Hash";
	"MooseX::AttributeHelpers::Trait::Collection::Hash::helper_type";
}
subgraph cluster_MooseX_AttributeHelpers_Collection_Hash {
	label="MooseX::AttributeHelpers::Collection::Hash";
	"MooseX::AttributeHelpers::Collection::Hash::provides";
	"MooseX::AttributeHelpers::Collection::Hash::method_constructors";
	"MooseX::AttributeHelpers::Collection::Hash::method_provider";
	"MooseX::AttributeHelpers::Collection::Hash::curries";
	"MooseX::AttributeHelpers::Collection::Hash::has_method_provider";
}
subgraph cluster_Moose_Exporter {
	label="Moose::Exporter";
	"Moose::Exporter::__ANON__[Moose/Exporter.pm:389]";
	"Moose::Exporter::__ANON__[Moose/Exporter.pm:478]";
}
subgraph cluster_Class_MOP_Mixin_HasMethods {
	label="Class::MOP::Mixin::HasMethods";
	"Class::MOP::Mixin::HasMethods::get_method_list";
	"Class::MOP::Mixin::HasMethods::get_method";
}
subgraph cluster_Moose_Util_TypeConstraints {
	label="Moose::Util::TypeConstraints";
	"Moose::Util::TypeConstraints::find_or_create_type_constraint";
}
subgraph cluster_Scalar_Util {
	label="Scalar::Util";
	"Scalar::Util::blessed";
}
subgraph cluster_Class_MOP {
	label="Class::MOP";
	"Class::MOP::__ANON__[Class/MOP.pm:103]";
}
subgraph cluster_MooseX_AttributeHelpers_Trait_Base {
	label="MooseX::AttributeHelpers::Trait::Base";
	"MooseX::AttributeHelpers::Trait::Base::process_options_for_provides";
	"MooseX::AttributeHelpers::Trait::Base::BEGIN@220";
	"MooseX::AttributeHelpers::Trait::Base::__ANON__[MooseX/AttributeHelpers/Trait/Base.pm:22]";
	"MooseX::AttributeHelpers::Trait::Base::BEGIN@219";
	"MooseX::AttributeHelpers::Trait::Base::__ANON__[MooseX/AttributeHelpers/Trait/Base.pm:51]";
	"MooseX::AttributeHelpers::Trait::Base::BEGIN@3";
	"MooseX::AttributeHelpers::Trait::Base::BEGIN@4";
	"MooseX::AttributeHelpers::Trait::Base::check_provides_values";
}
subgraph cluster_Class_MOP_Class_ {
	label="Class::MOP::Class:";
	"Class::MOP::Class:::after";
	"Class::MOP::Class:::before";
}
subgraph cluster_MooseX_AttributeHelpers_MethodProvider_Hash {
	label="MooseX::AttributeHelpers::MethodProvider::Hash";
	"MooseX::AttributeHelpers::MethodProvider::Hash::meta";
}
subgraph cluster_Class_MOP_Mixin_AttributeCore {
	label="Class::MOP::Mixin::AttributeCore";
	"Class::MOP::Mixin::AttributeCore::default";
}
subgraph cluster_Moose_Meta_TypeConstraint {
	label="Moose::Meta::TypeConstraint";
	"Moose::Meta::TypeConstraint::is_a_type_of";
}
"MooseX::AttributeHelpers::Trait::Base::check_provides_values" -> "MooseX::AttributeHelpers::Collection::Hash::curries";
"MooseX::AttributeHelpers::Trait::Base::check_provides_values" -> "MooseX::AttributeHelpers::Collection::Hash::method_constructors";
"MooseX::AttributeHelpers::Trait::Base::BEGIN@220" -> "Moose::Exporter::__ANON__[Moose/Exporter.pm:478]";
"MooseX::AttributeHelpers::Trait::Base::BEGIN@219" -> "Moose::Exporter::__ANON__[Moose/Exporter.pm:478]";
"MooseX::AttributeHelpers::Trait::Base::process_options_for_provides" -> "Moose::Util::TypeConstraints::find_or_create_type_constraint";
"MooseX::AttributeHelpers::Trait::Base::__ANON__[MooseX/AttributeHelpers/Trait/Base.pm:51]" -> "Class::MOP::Mixin::HasMethods::get_method";
"MooseX::AttributeHelpers::Trait::Base::__ANON__[MooseX/AttributeHelpers/Trait/Base.pm:51]" -> "Class::MOP::Mixin::HasMethods::get_method_list";
"MooseX::AttributeHelpers::Trait::Base::process_options_for_provides" -> "Scalar::Util::blessed";
"Class::MOP::Mixin::AttributeCore::default" -> "MooseX::AttributeHelpers::Trait::Base::__ANON__[MooseX/AttributeHelpers/Trait/Base.pm:51]";
"Class::MOP::Class:::after" -> "MooseX::AttributeHelpers::Trait::Base::check_provides_values";
"Class::MOP::__ANON__[Class/MOP.pm:103]" -> "MooseX::AttributeHelpers::Trait::Base::BEGIN@220";
"Class::MOP::__ANON__[Class/MOP.pm:103]" -> "MooseX::AttributeHelpers::Trait::Base::BEGIN@4";
"MooseX::AttributeHelpers::Trait::Base::check_provides_values" -> "MooseX::AttributeHelpers::Collection::Hash::provides";
"MooseX::AttributeHelpers::Trait::Base::__ANON__[MooseX/AttributeHelpers/Trait/Base.pm:51]" -> "MooseX::AttributeHelpers::Collection::Hash::has_method_provider";
"MooseX::AttributeHelpers::Trait::Base::process_options_for_provides" -> "Moose::Meta::TypeConstraint::is_a_type_of";
"MooseX::AttributeHelpers::Trait::Base::process_options_for_provides" -> "MooseX::AttributeHelpers::Trait::Collection::Hash::helper_type";
"Class::MOP::Mixin::AttributeCore::default" -> "MooseX::AttributeHelpers::Trait::Base::__ANON__[MooseX/AttributeHelpers/Trait/Base.pm:22]";
"MooseX::AttributeHelpers::Trait::Base::BEGIN@3" -> "Moose::Exporter::__ANON__[Moose/Exporter.pm:389]";
"MooseX::AttributeHelpers::Trait::Base::BEGIN@4" -> "Moose::Exporter::__ANON__[Moose/Exporter.pm:389]";
"Class::MOP::__ANON__[Class/MOP.pm:103]" -> "MooseX::AttributeHelpers::Trait::Base::BEGIN@3";
"Class::MOP::__ANON__[Class/MOP.pm:103]" -> "MooseX::AttributeHelpers::Trait::Base::BEGIN@219";
"Class::MOP::Class:::before" -> "MooseX::AttributeHelpers::Trait::Base::process_options_for_provides";
"MooseX::AttributeHelpers::Trait::Base::__ANON__[MooseX/AttributeHelpers/Trait/Base.pm:51]" -> "MooseX::AttributeHelpers::Collection::Hash::method_provider";
"MooseX::AttributeHelpers::Trait::Base::__ANON__[MooseX/AttributeHelpers/Trait/Base.pm:51]" -> "MooseX::AttributeHelpers::MethodProvider::Hash::meta";
}
