diff --git a/cue/builtins.go b/cue/builtins.go
index e435b18..fb621c3 100644
--- a/cue/builtins.go
+++ b/cue/builtins.go
@@ -1854,8 +1854,12 @@
 					if err != nil {
 						return "", err
 					}
+					var x interface{}
+					if err := data.Decode(&x); err != nil {
+						return "", err
+					}
 					buf := &bytes.Buffer{}
-					if err := t.Execute(buf, data); err != nil {
+					if err := t.Execute(buf, x); err != nil {
 						return "", err
 					}
 					return buf.String(), nil
diff --git a/cue/gen.go b/cue/gen.go
index f2b7832..a255876 100644
--- a/cue/gen.go
+++ b/cue/gen.go
@@ -247,7 +247,7 @@
 			case token.VAR:
 				for _, spec := range x.Specs {
 					if ast.IsExported(spec.(*ast.ValueSpec).Names[0].Name) {
-						log.Fatal("var declarations not supported")
+						log.Fatal("gen %s: var declarations not supported", filename)
 					}
 				}
 				printer.Fprint(g.decls, g.fset, x)
@@ -257,12 +257,12 @@
 				// TODO: support type declarations.
 				for _, spec := range x.Specs {
 					if ast.IsExported(spec.(*ast.TypeSpec).Name.Name) {
-						log.Fatal("type declarations not supported")
+						log.Fatal("gen %s: type declarations not supported", filename)
 					}
 				}
 				continue
 			default:
-				log.Fatalf("unexpected spec of type %s", x.Tok)
+				log.Fatalf("gen %s: unexpected spec of type %s", filename, x.Tok)
 			}
 		case *ast.FuncDecl:
 			g.genFun(x)
diff --git a/pkg/text/template/manual.go b/pkg/text/template/manual.go
index 3895917..646f5e8 100644
--- a/pkg/text/template/manual.go
+++ b/pkg/text/template/manual.go
@@ -27,8 +27,12 @@
 	if err != nil {
 		return "", err
 	}
+	var x interface{}
+	if err := data.Decode(&x); err != nil {
+		return "", err
+	}
 	buf := &bytes.Buffer{}
-	if err := t.Execute(buf, data); err != nil {
+	if err := t.Execute(buf, x); err != nil {
 		return "", err
 	}
 	return buf.String(), nil
