Merge pull request #106 from colincross/type_error

Fix error messages containing variable types
diff --git a/parser/printer.go b/parser/printer.go
index 485c481..159431d 100644
--- a/parser/printer.go
+++ b/parser/printer.go
@@ -122,7 +122,7 @@
 	case *Map:
 		p.printMap(v)
 	default:
-		panic(fmt.Errorf("bad property type: %d", value.Type))
+		panic(fmt.Errorf("bad property type: %s", value.Type()))
 	}
 }
 
diff --git a/unpack.go b/unpack.go
index f7e0a2d..3e21203 100644
--- a/unpack.go
+++ b/unpack.go
@@ -279,7 +279,7 @@
 	if !ok {
 		return []error{
 			fmt.Errorf("%s: can't assign %s value to bool property %q",
-				property.Value.Pos, property.Value.Type, property.Name),
+				property.Value.Pos(), property.Value.Type(), property.Name),
 		}
 	}
 	boolValue.SetBool(b.Value)
@@ -293,7 +293,7 @@
 	if !ok {
 		return []error{
 			fmt.Errorf("%s: can't assign %s value to string property %q",
-				property.Value.Pos, property.Value.Type, property.Name),
+				property.Value.Pos(), property.Value.Type(), property.Name),
 		}
 	}
 	stringValue.SetString(s.Value)
@@ -306,7 +306,7 @@
 	if !ok {
 		return []error{
 			fmt.Errorf("%s: can't assign %s value to list property %q",
-				property.Value.Pos, property.Value.Type, property.Name),
+				property.Value.Pos(), property.Value.Type(), property.Name),
 		}
 	}
 
@@ -332,7 +332,7 @@
 	if !ok {
 		return []error{
 			fmt.Errorf("%s: can't assign %s value to map property %q",
-				property.Value.Pos, property.Value.Type, property.Name),
+				property.Value.Pos(), property.Value.Type(), property.Name),
 		}
 	}