+my $guess_type = sub {
+ my $data = shift;
+
+ return 'null' if !defined($data);
+
+ my $class = ref($data);
+ return 'string' if !$class;
+
+ if ($class eq 'HASH') {
+ return 'object';
+ } elsif ($class eq 'ARRAY') {
+ return 'array';
+ } else {
+ return 'string'; # better than nothing
+ }
+};
+