diff --git a/examples/acceptance_tests/022/aiken.toml b/examples/acceptance_tests/022/aiken.toml
new file mode 100644
index 00000000..75d8e0e0
--- /dev/null
+++ b/examples/acceptance_tests/022/aiken.toml
@@ -0,0 +1,2 @@
+name = "acceptance_test_022"
+version = "0.0.0"
diff --git a/examples/acceptance_tests/022/lib/test.ak b/examples/acceptance_tests/022/lib/test.ak
new file mode 100644
index 00000000..7574b0a6
--- /dev/null
+++ b/examples/acceptance_tests/022/lib/test.ak
@@ -0,0 +1,23 @@
+pub fn foldr(xs: List, f: fn(a, b) -> b, zero: b) -> b {
+ when xs is {
+ [] -> zero
+ [x, ..rest] -> f(x, foldr(rest, f, zero))
+ }
+}
+
+pub fn filter_map(xs: List, f: fn(a) -> Option) -> List {
+ foldr(
+ xs,
+ fn(x, ys) {
+ when f(x) is {
+ None -> ys
+ Some(y) -> [y, ..ys]
+ }
+ },
+ [],
+ )
+}
+
+test filter_map_1() {
+ filter_map([], fn(_) { Some(42) }) == []
+}