cleanup
put all object definitions into helmold namespace, define small method definitions inside the header.
bugfix: replace duplicated 'static' attibute with 'inline'
add RTTI utilities to object class
add weak_value type
add pair::car/cdr methods
prohibit instantiating object class (ie. make object class abstract)
add comments (for visual aid)
include cassert
keep track of field name changes
remove mis-added const qualifier
rename nil::getInstance -> nil::value
reorder nil class
add missing ()
save constness when doing dynamic_cast
rename value() -> instance()
do not initialize explicitly the singleton intance
add a comment
bugfix: weak_value should be a weak_ptr, not a share_ptr
add symbol::valueof method