Annot semantics

I can't rebase, so I just wiped and started fresh. addresses #1329