Improved module's consistency by mobing functions around and adding an ID type