static void print_ref(const Any & ref)
{
	auto array = With<Array>
	({
		With<String>(u8"hello"),
		With<Number>(10),
		With<Number>(10.8),
		With<Date>()
	});
	
	auto array1 = With<Array>(Thus<Array>(array));
	
	std::cerr.setf(std::ios::fixed, std::ios::floatfield);
	std::cerr.precision(10);
	
	std::cerr << "+ description() : " << ref.description() << std::endl;
	std::cerr << "+ className() : " << ref.className() << std::endl;
	std::cerr << "+ classTree() : " << ref.classTree() << std::endl;
	
	//std::cerr << ref << std::endl;
	std::cerr << "+ stringValue() : " << ref.stringValue() << std::endl;
	
	std::cerr << "+ floatValue() : " << ref.floatValue() << std::endl;
	std::cerr << "+ doubleValue() : " << ref.doubleValue() << std::endl;
	std::cerr << "+ boolValue() : " << ref.boolValue() << std::endl;
	std::cerr << "+ charValue() : " << static_cast<short>(ref.charValue()) << std::endl;
	std::cerr << "+ shortValue() : " << ref.shortValue() << std::endl;
	std::cerr << "+ intValue() : " << ref.intValue() << std::endl;
	std::cerr << "+ longValue() : " << ref.longValue() << std::endl;
	std::cerr << "+ longLongValue() : " << ref.longLongValue() << std::endl;
	std::cerr << "+ unsignedCharValue() : " << static_cast<unsigned short>(ref.unsignedCharValue()) << std::endl;
	std::cerr << "+ unsignedShortValue() : " << ref.unsignedShortValue() << std::endl;
	std::cerr << "+ unsignedIntValue() : " << ref.unsignedIntValue() << std::endl;
	std::cerr << "+ unsignedLongValue() : " << ref.unsignedLongValue() << std::endl;
	std::cerr << "+ unsignedLongLongValue() : " << ref.unsignedLongLongValue() << std::endl;
	
	std::cerr << "+ ---- + " << std::endl;
}