finally add proper Keyword implementation
update
add hasheq() to string metatable, load Keyword class
add set() not tested, check for :macro instead of "macro"
add hasheq()
add assert reason (no modification allowed)
use obj:hasheq() instead to set and get
add reason for assert (no modification allowed)
eliminate __newindex check by using rawset()
add (hash) fn
add KEYWORD compilation
add keyword printing
enhance reader to read keywords
test hash of symbols, keyword, and keyword printing