(bind-func flatten:[List{!a}*,List{List{!a}*}*]* (lambda (nl) (foldl (lambda (acc x) (append acc x)) (list) nl)))