working on past tesnse
fix bug in (random-sentence): copy terminal-head of gram/vp before modification.
print args in case of unification failure.
irregular past conjugation example "letto (read)" works.
as with :subcat, for :english and :italian, format :1 and 2: features as normal features (not phrasal children)
exclude printfs from generate namespace to prevent DOS attack vulnerability.
remove unused namespace.
Hopefully fix stack overflow when reloading clojure code: remove self-referential "(:require [italianverbs.fs :as fs])" from fs.clj.
-working on rule cleanup.
-use emptylist (clojure.lang.PersistentList$EmptyList)  as standard representation for an empty list as the value for :subcat.
-cleanup : remove unused italianverbs.lexiconfn.
-handle sets (e.g. clojure.lang.PersistentHashSet) when printing out as HTML (iterate through them just like other sequences.
add html as being accessible from sandbox. Considered to be secure. Might be useful for debugging.
add TODO
comment out excessive logging (at least too excessive for production).
-standardize on '() (empty list) as representation for an empty :subcat list.
-add inference rules function (sem-impl  "semantic implicature"): add semantic/cultural properties depending on lexical entries.
represent empty lists (e.g. in subcat value) as "< >".
make use of semantic implicature (see commit 1a1e15 for implementation)
add :extend feature to rules to allow recursive generation of phrases
add more :extends values for rules.
put header in <h2> and hide it from tablized display.
-fix treatment of values of type Clojure.lang.Cons: treat the same as other lists