make array equality work, and make tags/brands win over the _equals method
change eval-lib to require only source on import, not an AST, to avoid nested running
bootstrapped with fixes for module loading
use method annotations
note that this worked, despite being completely incorrect.  thanks, javascript?
clean up option type and-then method to do the Right Thing
Merge branch 'master' into docs-work