digraph {
graph [overlap=false]
subgraph cluster_warnings {
	label="warnings";
	"warnings::import";
}
subgraph cluster_Moose_Util_TypeConstraints {
	label="Moose::Util::TypeConstraints";
	"Moose::Util::TypeConstraints::_create_type_constraint";
	"Moose::Util::TypeConstraints::find_or_create_isa_type_constraint";
	"Moose::Util::TypeConstraints::find_or_parse_type_constraint";
}
subgraph cluster_Moose {
	label="Moose";
	"Moose::BEGIN@19";
}
subgraph cluster_Moose_Meta_TypeConstraint_Registry {
	label="Moose::Meta::TypeConstraint::Registry";
	"Moose::Meta::TypeConstraint::Registry::add_type_constraint";
}
subgraph cluster_Sub_Name {
	label="Sub::Name";
	"Sub::Name::subname";
}
subgraph cluster_metaclass {
	label="metaclass";
	"metaclass::BEGIN@8";
	"metaclass::import";
	"metaclass::BEGIN@14";
	"metaclass::BEGIN@5";
	"metaclass::BEGIN@7";
	"metaclass::BEGIN@4";
}
subgraph cluster_Moose_Meta_TypeConstraint_Class {
	label="Moose::Meta::TypeConstraint::Class";
	"Moose::Meta::TypeConstraint::Class::_new";
	"Moose::Meta::TypeConstraint::Class::new";
}
subgraph cluster_Moose_Meta_TypeConstraint_Parameterizable {
	label="Moose::Meta::TypeConstraint::Parameterizable";
	"Moose::Meta::TypeConstraint::Parameterizable::_new";
}
subgraph cluster_base {
	label="base";
	"base::import";
}
subgraph cluster_strict {
	label="strict";
	"strict::import";
}
subgraph cluster_Exporter {
	label="Exporter";
	"Exporter::import";
}
subgraph cluster_overload {
	label="overload";
	"overload::import";
}
subgraph cluster_Moose_Meta_Attribute {
	label="Moose::Meta::Attribute";
	"Moose::Meta::Attribute::BEGIN@18";
}
subgraph cluster_Moose_Meta_TypeConstraint {
	label="Moose::Meta::TypeConstraint";
	"Moose::Meta::TypeConstraint::hand_optimized_type_constraint";
	"Moose::Meta::TypeConstraint::_collect_all_parents";
	"Moose::Meta::TypeConstraint::_compile_type";
	"Moose::Meta::TypeConstraint::_compiled_type_constraint";
	"Moose::Meta::TypeConstraint::_has_compiled_type_constraint";
	"Moose::Meta::TypeConstraint::_compile_hand_optimized_type_constraint";
	"Moose::Meta::TypeConstraint::create_child_type";
	"Moose::Meta::TypeConstraint::BEGIN@8";
	"Moose::Meta::TypeConstraint::__ANON__[Moose/Meta/TypeConstraint.pm:8]";
	"Moose::Meta::TypeConstraint::_actually_compile_type_constraint";
	"Moose::Meta::TypeConstraint::new";
	"Moose::Meta::TypeConstraint::BEGIN@5";
	"Moose::Meta::TypeConstraint::BEGIN@12";
	"Moose::Meta::TypeConstraint::BEGIN@6";
	"Moose::Meta::TypeConstraint::__ANON__[Moose/Meta/TypeConstraint.pm:30]";
	"Moose::Meta::TypeConstraint::parent";
	"Moose::Meta::TypeConstraint::_new";
	"Moose::Meta::TypeConstraint::BEGIN@14";
	"Moose::Meta::TypeConstraint::compile_type_constraint";
	"Moose::Meta::TypeConstraint::name";
	"Moose::Meta::TypeConstraint::_compile_subtype";
	"Moose::Meta::TypeConstraint::has_parent";
	"Moose::Meta::TypeConstraint::BEGIN@11";
	"Moose::Meta::TypeConstraint::constraint";
	"Moose::Meta::TypeConstraint::BEGIN@4";
	"Moose::Meta::TypeConstraint::has_hand_optimized_type_constraint";
}
"Moose::Meta::TypeConstraint::BEGIN@6" -> "metaclass::BEGIN@14";
"Moose::Util::TypeConstraints::_create_type_constraint" -> "Moose::Meta::TypeConstraint::create_child_type";
"Moose::BEGIN@19" -> "Moose::Meta::TypeConstraint::BEGIN@5";
"Moose::Meta::TypeConstraint::BEGIN@11" -> "Exporter::import";
"Moose::Meta::TypeConstraint::BEGIN@12" -> "Exporter::import";
"Moose::Meta::TypeConstraint::new" -> "Moose::Meta::TypeConstraint::compile_type_constraint";
"Moose::Meta::TypeConstraint::Class::new" -> "Moose::Meta::TypeConstraint::compile_type_constraint";
"Moose::Meta::TypeConstraint::_compile_subtype" -> "Moose::Meta::TypeConstraint::name";
"Moose::Meta::TypeConstraint::__ANON__[Moose/Meta/TypeConstraint.pm:8]" -> "Moose::Meta::TypeConstraint::name";
"Moose::Meta::TypeConstraint::_compile_type" -> "Moose::Meta::TypeConstraint::name";
"Moose::Meta::TypeConstraint::new" -> "Moose::Meta::TypeConstraint::Parameterizable::_new";
"Moose::Meta::TypeConstraint::_compile_subtype" -> "Moose::Meta::TypeConstraint::has_hand_optimized_type_constraint";
"Moose::Meta::TypeConstraint::_actually_compile_type_constraint" -> "Moose::Meta::TypeConstraint::has_hand_optimized_type_constraint";
"Moose::Meta::TypeConstraint::new" -> "Moose::Meta::TypeConstraint::_has_compiled_type_constraint";
"Moose::Meta::TypeConstraint::_compile_subtype" -> "Sub::Name::subname";
"Moose::Meta::TypeConstraint::_compile_type" -> "Sub::Name::subname";
"Moose::Meta::TypeConstraint::BEGIN@6" -> "metaclass::BEGIN@7";
"Moose::Util::TypeConstraints::_create_type_constraint" -> "Moose::Meta::TypeConstraint::__ANON__[Moose/Meta/TypeConstraint.pm:8]";
"Moose::Meta::TypeConstraint::Registry::add_type_constraint" -> "Moose::Meta::TypeConstraint::__ANON__[Moose/Meta/TypeConstraint.pm:8]";
"Moose::Util::TypeConstraints::find_or_parse_type_constraint" -> "Moose::Meta::TypeConstraint::__ANON__[Moose/Meta/TypeConstraint.pm:8]";
"Moose::Util::TypeConstraints::find_or_create_isa_type_constraint" -> "Moose::Meta::TypeConstraint::__ANON__[Moose/Meta/TypeConstraint.pm:8]";
"Moose::Meta::TypeConstraint::create_child_type" -> "Moose::Meta::TypeConstraint::new";
"Moose::Util::TypeConstraints::_create_type_constraint" -> "Moose::Meta::TypeConstraint::new";
"Moose::Meta::Attribute::BEGIN@18" -> "Moose::Meta::TypeConstraint::new";
"Moose::BEGIN@19" -> "Moose::Meta::TypeConstraint::BEGIN@11";
"Moose::Meta::TypeConstraint::_compile_subtype" -> "Moose::Meta::TypeConstraint::_collect_all_parents";
"Moose::Meta::TypeConstraint::BEGIN@6" -> "metaclass::import";
"Moose::BEGIN@19" -> "Moose::Meta::TypeConstraint::BEGIN@12";
"Moose::Meta::TypeConstraint::BEGIN@6" -> "metaclass::BEGIN@5";
"Moose::Meta::TypeConstraint::_actually_compile_type_constraint" -> "Moose::Meta::TypeConstraint::_compile_subtype";
"Moose::BEGIN@19" -> "Moose::Meta::TypeConstraint::BEGIN@6";
"Moose::Meta::TypeConstraint::new" -> "Moose::Meta::TypeConstraint::_new";
"Moose::Meta::TypeConstraint::_compile_hand_optimized_type_constraint" -> "Moose::Meta::TypeConstraint::hand_optimized_type_constraint";
"Moose::Meta::TypeConstraint::BEGIN@14" -> "base::import";
"Moose::BEGIN@19" -> "Moose::Meta::TypeConstraint::BEGIN@8";
"Moose::Meta::TypeConstraint::BEGIN@8" -> "overload::import";
"Moose::Meta::TypeConstraint::compile_type_constraint" -> "Moose::Meta::TypeConstraint::_actually_compile_type_constraint";
"Moose::Meta::TypeConstraint::_collect_all_parents" -> "Moose::Meta::TypeConstraint::parent";
"Moose::Meta::TypeConstraint::BEGIN@5" -> "warnings::import";
"Moose::BEGIN@19" -> "Moose::Meta::TypeConstraint::BEGIN@14";
"Moose::Meta::TypeConstraint::_compile_subtype" -> "Moose::Meta::TypeConstraint::constraint";
"Moose::Meta::TypeConstraint::_actually_compile_type_constraint" -> "Moose::Meta::TypeConstraint::constraint";
"Moose::BEGIN@19" -> "Moose::Meta::TypeConstraint::BEGIN@4";
"Moose::Meta::TypeConstraint::_actually_compile_type_constraint" -> "Moose::Meta::TypeConstraint::_compile_type";
"Moose::Meta::TypeConstraint::_actually_compile_type_constraint" -> "Moose::Meta::TypeConstraint::_compile_hand_optimized_type_constraint";
"Moose::Meta::TypeConstraint::_new" -> "Moose::Meta::TypeConstraint::__ANON__[Moose/Meta/TypeConstraint.pm:30]";
"Moose::Meta::TypeConstraint::Class::_new" -> "Moose::Meta::TypeConstraint::__ANON__[Moose/Meta/TypeConstraint.pm:30]";
"Moose::Meta::TypeConstraint::_actually_compile_type_constraint" -> "Moose::Meta::TypeConstraint::has_parent";
"Moose::Meta::TypeConstraint::BEGIN@6" -> "metaclass::BEGIN@8";
"Moose::Meta::TypeConstraint::compile_type_constraint" -> "Moose::Meta::TypeConstraint::_compiled_type_constraint";
"Moose::Meta::TypeConstraint::BEGIN@6" -> "metaclass::BEGIN@4";
"Moose::Meta::TypeConstraint::BEGIN@4" -> "strict::import";
}
