add bare.cl2
refactor partition
remove manual return in "fn" macro
use doseq instead of for in some funcs
throw exception on bad "fn" declaration format