add some helpers, and use defstruct
remove find-val, use CL's FIND :key/:test instead
Allow [H[2J as a cond, fixes #1. Use defstruct, fixes #2