diff --git a/examples/acceptance_tests/028/aiken.toml b/examples/acceptance_tests/028/aiken.toml
new file mode 100644
index 00000000..c4506310
--- /dev/null
+++ b/examples/acceptance_tests/028/aiken.toml
@@ -0,0 +1,2 @@
+name = "acceptance_test_028"
+version = "0.0.0"
diff --git a/examples/acceptance_tests/028/lib/test.ak b/examples/acceptance_tests/028/lib/test.ak
new file mode 100644
index 00000000..fd46f0c0
--- /dev/null
+++ b/examples/acceptance_tests/028/lib/test.ak
@@ -0,0 +1,27 @@
+pub fn filter(xs: List, f: fn(a) -> Bool) -> List {
+ when xs is {
+ [] -> []
+ [x, ..rest] ->
+ if f(x) {
+ [x, ..filter(rest, f)]
+ } else {
+ filter(rest, f)
+ }
+ }
+}
+
+pub fn unique(xs: List) -> List {
+ when xs is {
+ [] -> []
+ [x, ..rest] -> [x, ..unique(filter(rest, fn(y) { y != x }))]
+ }
+}
+
+test unique_1() {
+ unique([]) == []
+}
+
+test unique_2() {
+ let xs = [1, 2, 3, 1]
+ unique(xs) == [1, 2, 3]
+}