diff --git a/internal/core/dep/dep_test.go b/internal/core/dep/dep_test.go
index 449279b..c1c0330 100644
--- a/internal/core/dep/dep_test.go
+++ b/internal/core/dep/dep_test.go
@@ -72,7 +72,7 @@
 
 			t.Run(tc.name, func(sub *testing.T) {
 				tc.fn(ctxt, n, func(d dep.Dependency) error {
-					str := cue.MakeValue(ctxt, d.Node).Path().String()
+					str := value.Make(ctxt, d.Node).Path().String()
 					if i := d.Import(); i != nil {
 						path := i.ImportPath.StringValue(ctxt)
 						str = fmt.Sprintf("%q.%s", path, str)
@@ -114,7 +114,7 @@
 	deps := []string{}
 
 	_ = dep.VisitFields(ctxt, n, func(d dep.Dependency) error {
-		str := cue.MakeValue(ctxt, d.Node).Path().String()
+		str := value.Make(ctxt, d.Node).Path().String()
 		if i := d.Import(); i != nil {
 			path := i.ImportPath.StringValue(ctxt)
 			str = fmt.Sprintf("%q.%s", path, str)
diff --git a/internal/value/value.go b/internal/value/value.go
index f5a4662..a91343b 100644
--- a/internal/value/value.go
+++ b/internal/value/value.go
@@ -39,6 +39,11 @@
 }
 
 // TODO:
+// Make wraps cue.MakeValue.
+func Make(ctx *adt.OpContext, v adt.Value) cue.Value {
+	return (*cue.Context)(ctx.Impl().(*runtime.Runtime)).Encode(v)
+}
+
 //
 // func Make(r *runtime.Runtime, v *adt.Vertex) cue.Value {
 // 	return cue.Value{}
