;; Even though maps, sets, vectors and keywords behave as functions:user=>({:a1}:a)1;; fn? still returns false for them because they are not created using fn:user=>(fn?{:a1})false
Note fn? only tests if something was created using fn, not if it’s a function. Use ifn? for that. Some things are functions even though they weren’t created with fn, such as maps, vectors and keywords.