diff --git a/tests/functional/lang/eval-okay-any-all.exp b/tests/functional2/lang/any-all/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-any-all.exp rename to tests/functional2/lang/any-all/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-any-all.nix b/tests/functional2/lang/any-all/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-any-all.nix rename to tests/functional2/lang/any-all/in.nix diff --git a/tests/functional/lang/eval-okay-attrnames.exp b/tests/functional2/lang/attrnames/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-attrnames.exp rename to tests/functional2/lang/attrnames/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-attrnames.nix b/tests/functional2/lang/attrnames/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-attrnames.nix rename to tests/functional2/lang/attrnames/in.nix diff --git a/tests/functional/lang/eval-okay-callable-attrs.exp b/tests/functional2/lang/callable-attrs/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-callable-attrs.exp rename to tests/functional2/lang/callable-attrs/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-callable-attrs.nix b/tests/functional2/lang/callable-attrs/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-callable-attrs.nix rename to tests/functional2/lang/callable-attrs/in.nix diff --git a/tests/functional/lang/eval-okay-catattrs.exp b/tests/functional2/lang/catattrs/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-catattrs.exp rename to tests/functional2/lang/catattrs/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-catattrs.nix b/tests/functional2/lang/catattrs/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-catattrs.nix rename to tests/functional2/lang/catattrs/in.nix diff --git a/tests/functional/lang/eval-okay-comments.exp b/tests/functional2/lang/comments/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-comments.exp rename to tests/functional2/lang/comments/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-comments.nix b/tests/functional2/lang/comments/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-comments.nix rename to tests/functional2/lang/comments/in.nix diff --git a/tests/functional/lang/eval-okay-curpos.exp b/tests/functional2/lang/curpos/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-curpos.exp rename to tests/functional2/lang/curpos/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-curpos.nix b/tests/functional2/lang/curpos/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-curpos.nix rename to tests/functional2/lang/curpos/in.nix diff --git a/tests/functional/lang/eval-okay-elem.exp b/tests/functional2/lang/elem/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-elem.exp rename to tests/functional2/lang/elem/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-elem.nix b/tests/functional2/lang/elem/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-elem.nix rename to tests/functional2/lang/elem/in.nix diff --git a/tests/functional/lang/eval-okay-filter.exp b/tests/functional2/lang/filter/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-filter.exp rename to tests/functional2/lang/filter/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-filter.nix b/tests/functional2/lang/filter/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-filter.nix rename to tests/functional2/lang/filter/in.nix diff --git a/tests/functional/lang/eval-okay-flake-ref-to-string.exp b/tests/functional2/lang/flake-ref-to-string/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-flake-ref-to-string.exp rename to tests/functional2/lang/flake-ref-to-string/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-flake-ref-to-string.nix b/tests/functional2/lang/flake-ref-to-string/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-flake-ref-to-string.nix rename to tests/functional2/lang/flake-ref-to-string/in.nix diff --git a/tests/functional/lang/eval-okay-float.exp b/tests/functional2/lang/float/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-float.exp rename to tests/functional2/lang/float/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-float.nix b/tests/functional2/lang/float/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-float.nix rename to tests/functional2/lang/float/in.nix diff --git a/tests/functional/lang/eval-okay-floor-ceil.exp b/tests/functional2/lang/floor-ceil/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-floor-ceil.exp rename to tests/functional2/lang/floor-ceil/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-floor-ceil.nix b/tests/functional2/lang/floor-ceil/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-floor-ceil.nix rename to tests/functional2/lang/floor-ceil/in.nix diff --git a/tests/functional/lang/eval-okay-groupBy.exp b/tests/functional2/lang/groupBy/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-groupBy.exp rename to tests/functional2/lang/groupBy/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-groupBy.nix b/tests/functional2/lang/groupBy/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-groupBy.nix rename to tests/functional2/lang/groupBy/in.nix diff --git a/tests/functional/lang/eval-okay-hashstring.exp b/tests/functional2/lang/hashstring/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-hashstring.exp rename to tests/functional2/lang/hashstring/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-hashstring.nix b/tests/functional2/lang/hashstring/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-hashstring.nix rename to tests/functional2/lang/hashstring/in.nix diff --git a/tests/functional/lang/eval-okay-if.exp b/tests/functional2/lang/if/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-if.exp rename to tests/functional2/lang/if/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-if.nix b/tests/functional2/lang/if/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-if.nix rename to tests/functional2/lang/if/in.nix diff --git a/tests/functional/lang/eval-okay-intersectAttrs.exp b/tests/functional2/lang/intersectAttrs/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-intersectAttrs.exp rename to tests/functional2/lang/intersectAttrs/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-intersectAttrs.nix b/tests/functional2/lang/intersectAttrs/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-intersectAttrs.nix rename to tests/functional2/lang/intersectAttrs/in.nix diff --git a/tests/functional/lang/eval-okay-listtoattrs.exp b/tests/functional2/lang/listtoattrs/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-listtoattrs.exp rename to tests/functional2/lang/listtoattrs/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-listtoattrs.nix b/tests/functional2/lang/listtoattrs/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-listtoattrs.nix rename to tests/functional2/lang/listtoattrs/in.nix diff --git a/tests/functional/lang/eval-okay-logic.exp b/tests/functional2/lang/logic/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-logic.exp rename to tests/functional2/lang/logic/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-logic.nix b/tests/functional2/lang/logic/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-logic.nix rename to tests/functional2/lang/logic/in.nix diff --git a/tests/functional/lang/eval-okay-map.exp b/tests/functional2/lang/map/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-map.exp rename to tests/functional2/lang/map/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-map.nix b/tests/functional2/lang/map/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-map.nix rename to tests/functional2/lang/map/in.nix diff --git a/tests/functional/lang/eval-okay-mapattrs.exp b/tests/functional2/lang/mapattrs/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-mapattrs.exp rename to tests/functional2/lang/mapattrs/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-mapattrs.nix b/tests/functional2/lang/mapattrs/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-mapattrs.nix rename to tests/functional2/lang/mapattrs/in.nix diff --git a/tests/functional/lang/eval-okay-merge-dynamic-attrs.exp b/tests/functional2/lang/merge-dynamic-attrs/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-merge-dynamic-attrs.exp rename to tests/functional2/lang/merge-dynamic-attrs/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-merge-dynamic-attrs.nix b/tests/functional2/lang/merge-dynamic-attrs/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-merge-dynamic-attrs.nix rename to tests/functional2/lang/merge-dynamic-attrs/in.nix diff --git a/tests/functional/lang/eval-okay-nested-with.exp b/tests/functional2/lang/nested-with/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-nested-with.exp rename to tests/functional2/lang/nested-with/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-nested-with.nix b/tests/functional2/lang/nested-with/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-nested-with.nix rename to tests/functional2/lang/nested-with/in.nix diff --git a/tests/functional/lang/eval-okay-null-dynamic-attrs.exp b/tests/functional2/lang/null-dynamic-attrs/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-null-dynamic-attrs.exp rename to tests/functional2/lang/null-dynamic-attrs/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-null-dynamic-attrs.nix b/tests/functional2/lang/null-dynamic-attrs/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-null-dynamic-attrs.nix rename to tests/functional2/lang/null-dynamic-attrs/in.nix diff --git a/tests/functional/lang/eval-okay-parse-flake-ref.exp b/tests/functional2/lang/parse-flake-ref/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-parse-flake-ref.exp rename to tests/functional2/lang/parse-flake-ref/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-parse-flake-ref.nix b/tests/functional2/lang/parse-flake-ref/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-parse-flake-ref.nix rename to tests/functional2/lang/parse-flake-ref/in.nix diff --git a/tests/functional/lang/eval-okay-partition.exp b/tests/functional2/lang/partition/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-partition.exp rename to tests/functional2/lang/partition/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-partition.nix b/tests/functional2/lang/partition/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-partition.nix rename to tests/functional2/lang/partition/in.nix diff --git a/tests/functional/lang/eval-okay-redefine-builtin.exp b/tests/functional2/lang/redefine-builtin/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-redefine-builtin.exp rename to tests/functional2/lang/redefine-builtin/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-redefine-builtin.nix b/tests/functional2/lang/redefine-builtin/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-redefine-builtin.nix rename to tests/functional2/lang/redefine-builtin/in.nix diff --git a/tests/functional/lang/eval-okay-regression-20220122.exp b/tests/functional2/lang/regression-20220122/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-regression-20220122.exp rename to tests/functional2/lang/regression-20220122/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-regression-20220122.nix b/tests/functional2/lang/regression-20220122/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-regression-20220122.nix rename to tests/functional2/lang/regression-20220122/in.nix diff --git a/tests/functional/lang/eval-okay-regression-20220125.exp b/tests/functional2/lang/regression-20220125/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-regression-20220125.exp rename to tests/functional2/lang/regression-20220125/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-regression-20220125.nix b/tests/functional2/lang/regression-20220125/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-regression-20220125.nix rename to tests/functional2/lang/regression-20220125/in.nix diff --git a/tests/functional/lang/eval-okay-replacestrings.exp b/tests/functional2/lang/replacestrings/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-replacestrings.exp rename to tests/functional2/lang/replacestrings/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-replacestrings.nix b/tests/functional2/lang/replacestrings/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-replacestrings.nix rename to tests/functional2/lang/replacestrings/in.nix diff --git a/tests/functional/lang/eval-okay-sort.exp b/tests/functional2/lang/sort/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-sort.exp rename to tests/functional2/lang/sort/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-sort.nix b/tests/functional2/lang/sort/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-sort.nix rename to tests/functional2/lang/sort/in.nix diff --git a/tests/functional/lang/eval-okay-splitversion.exp b/tests/functional2/lang/splitversion/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-splitversion.exp rename to tests/functional2/lang/splitversion/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-splitversion.nix b/tests/functional2/lang/splitversion/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-splitversion.nix rename to tests/functional2/lang/splitversion/in.nix diff --git a/tests/functional/lang/eval-okay-tryeval.exp b/tests/functional2/lang/tryeval/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-tryeval.exp rename to tests/functional2/lang/tryeval/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-tryeval.nix b/tests/functional2/lang/tryeval/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-tryeval.nix rename to tests/functional2/lang/tryeval/in.nix diff --git a/tests/functional/lang/eval-okay-types.exp b/tests/functional2/lang/types/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-types.exp rename to tests/functional2/lang/types/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-types.nix b/tests/functional2/lang/types/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-types.nix rename to tests/functional2/lang/types/in.nix diff --git a/tests/functional/lang/eval-okay-zipAttrsWith.exp b/tests/functional2/lang/zipAttrsWith/eval-okay.out.exp similarity index 100% rename from tests/functional/lang/eval-okay-zipAttrsWith.exp rename to tests/functional2/lang/zipAttrsWith/eval-okay.out.exp diff --git a/tests/functional/lang/eval-okay-zipAttrsWith.nix b/tests/functional2/lang/zipAttrsWith/in.nix similarity index 100% rename from tests/functional/lang/eval-okay-zipAttrsWith.nix rename to tests/functional2/lang/zipAttrsWith/in.nix