bumped the version to 0.3.1 to reflect the new type subsystem and addition of protocols as first-class objects