do not create interfaces containing interfaces

R=r
DELTA=16  (14 added, 0 deleted, 2 changed)
OCL=27464
CL=27466
diff --git a/src/lib/reflect/all_test.go b/src/lib/reflect/all_test.go
index ed1e963..514fe703 100644
--- a/src/lib/reflect/all_test.go
+++ b/src/lib/reflect/all_test.go
@@ -310,6 +310,12 @@
 	assert(v2.Type().String(), "interface { }");
 	v3 := v2.(reflect.InterfaceValue).Value();
 	assert(v3.Type().String(), "float");
+	
+	i3 := v2.Interface();
+	if f, ok := i3.(float); !ok {
+		a, typ, c := sys.Reflect(i3);
+		t.Error("v2.Interface() did not return float, got ", typ);
+	}
 }
 
 func TestFunctionValue(t *testing.T) {