diff --git a/src/main/com/yetanalytics/flint/spec/expr.cljc b/src/main/com/yetanalytics/flint/spec/expr.cljc
index 41ed5c7..d200040 100644
--- a/src/main/com/yetanalytics/flint/spec/expr.cljc
+++ b/src/main/com/yetanalytics/flint/spec/expr.cljc
@@ -331,12 +331,12 @@
kwargs (conj [:expr/kwargs kwargs])))
(def expr-branch-spec
- (s/and list?
+ (s/and seq?
expr-multi-spec
(s/conformer conform-expr)))
(def agg-expr-branch-spec
- (s/and list?
+ (s/and seq?
agg-expr-multi-spec
(s/conformer conform-expr)))
diff --git a/src/test/com/yetanalytics/flint_test.cljc b/src/test/com/yetanalytics/flint_test.cljc
index 44b9ccd..a447f91 100644
--- a/src/test/com/yetanalytics/flint_test.cljc
+++ b/src/test/com/yetanalytics/flint_test.cljc
@@ -62,6 +62,14 @@
(make-format-pretty-tests (fn [q] (format-query q :pretty? true))
"dev-resources/test-fixtures/inputs/query/"))
+(deftest cons-expression-test
+ (let [fclause (cons '= '(?v 5))]
+ (is (= "PREFIX ex: SELECT ?e WHERE { ?e ex:value ?v . FILTER (?v = 5) }"
+ (format-query {:prefixes {:ex ""}
+ :select '[?e]
+ :where ['[?e :ex/value ?v]
+ [:filter fclause]]})))))
+
(deftest update-tests
(make-format-tests format-update
"dev-resources/test-fixtures/inputs/update/")