User record type
Add test: adt constructor cannot has the same name
Fix lint issues in lib/aparser.js
Add utils.mapValues
Add .eslintrc
Refactor type, record and alias to have same underlying implementation