Port attrs.js back to Underscore