Improved performance by using numbers as ids rather than gensyms.
Changed error message text very slightly in attr-maps.