fix typo
handle correctly values with metadata
use print-dup for unprintable values embedding
allow for typed deftype fields/fn closed-overs