"testing"
 )
 
+func fArray(a [4]byte) [4]byte { return a }
+
+type TestArrayAlias [4]byte
+
+func fArrayAlias(a TestArrayAlias) TestArrayAlias { return a }
+
 func fBool(a bool) bool { return a }
 
 type TestBoolAlias bool
 
 func fMapAlias(a TestMapAlias) TestMapAlias { return a }
 
+func fPtr(a *int) *int {
+       b := *a
+       return &b
+}
+
+type TestPtrAlias *int
+
+func fPtrAlias(a TestPtrAlias) TestPtrAlias { return a }
+
 func fSlice(a []byte) []byte { return a }
 
 type TestSliceAlias []byte
 
 func fUintptrAlias(a TestUintptrAlias) TestUintptrAlias { return a }
 
-func fIntptr(a *int) *int {
-       b := *a
-       return &b
-}
-
-type TestIntptrAlias *int
-
-func fIntptrAlias(a TestIntptrAlias) TestIntptrAlias { return a }
-
-func fArray(a [4]byte) [4]byte { return a }
-
-type TestArrayAlias [4]byte
-
-func fArrayAlias(a TestArrayAlias) TestArrayAlias { return a }
-
 func reportError(property string, err error, t *testing.T) {
        if err != nil {
                t.Errorf("%s: %s", property, err)
 }
 
 func TestCheckEqual(t *testing.T) {
+       reportError("fArray", CheckEqual(fArray, fArray, nil), t)
+       reportError("fArrayAlias", CheckEqual(fArrayAlias, fArrayAlias, nil), t)
        reportError("fBool", CheckEqual(fBool, fBool, nil), t)
        reportError("fBoolAlias", CheckEqual(fBoolAlias, fBoolAlias, nil), t)
        reportError("fFloat32", CheckEqual(fFloat32, fFloat32, nil), t)
        reportError("fInt32Alias", CheckEqual(fInt32Alias, fInt32Alias, nil), t)
        reportError("fMap", CheckEqual(fMap, fMap, nil), t)
        reportError("fMapAlias", CheckEqual(fMapAlias, fMapAlias, nil), t)
+       reportError("fPtr", CheckEqual(fPtr, fPtr, nil), t)
+       reportError("fPtrAlias", CheckEqual(fPtrAlias, fPtrAlias, nil), t)
        reportError("fSlice", CheckEqual(fSlice, fSlice, nil), t)
        reportError("fSliceAlias", CheckEqual(fSliceAlias, fSliceAlias, nil), t)
        reportError("fString", CheckEqual(fString, fString, nil), t)
        reportError("fUintAlias", CheckEqual(fUintAlias, fUintAlias, nil), t)
        reportError("fUintptr", CheckEqual(fUintptr, fUintptr, nil), t)
        reportError("fUintptrAlias", CheckEqual(fUintptrAlias, fUintptrAlias, nil), t)
-       reportError("fIntptr", CheckEqual(fIntptr, fIntptr, nil), t)
-       reportError("fIntptrAlias", CheckEqual(fIntptrAlias, fIntptrAlias, nil), t)
-       reportError("fArray", CheckEqual(fArray, fArray, nil), t)
-       reportError("fArrayAlais", CheckEqual(fArrayAlias, fArrayAlias, nil), t)
 }
 
 // This tests that ArbitraryValue is working by checking that all the arbitrary