added assoc-if-new-throw-if-old
finished adding back numeric-id functions