Adding ToSlice
diff --git a/cast.go b/cast.go
index 4bd3ba3..dee6787 100644
--- a/cast.go
+++ b/cast.go
@@ -42,6 +42,11 @@
 	return v
 }
 
+func ToSlice(i interface{}) []interface{} {
+	v, _ := ToSliceE(i)
+	return v
+}
+
 func ToStringSlice(i interface{}) []string {
 	v, _ := ToStringSliceE(i)
 	return v
diff --git a/caste.go b/caste.go
index 78c9483..78c6a9e 100644
--- a/caste.go
+++ b/caste.go
@@ -179,6 +179,30 @@
 	return m, fmt.Errorf("Unable to Cast %#v to map[string]interface{}", i)
 }
 
+func ToSliceE(i interface{}) ([]interface{}, error) {
+	jww.DEBUG.Println("ToSliceE called on type:", reflect.TypeOf(i))
+
+	var s []interface{}
+
+	switch v := i.(type) {
+	case []interface{}:
+		fmt.Println("here")
+		for _, u := range v {
+			s = append(s, u)
+		}
+		return s, nil
+	case []map[string]interface{}:
+		for _, u := range v {
+			s = append(s, u)
+		}
+		return s, nil
+	default:
+		return s, fmt.Errorf("Unable to Cast %#v of type %v to []interface{}", i, reflect.TypeOf(i))
+	}
+
+	return s, fmt.Errorf("Unable to Cast %#v to []interface{}", i)
+}
+
 func ToStringSliceE(i interface{}) ([]string, error) {
 	jww.DEBUG.Println("ToStringSliceE called on type:", reflect.TypeOf(i))