Added unexported identifier type

This will give a slightly better guarantee that the identifiers
passed around are actually identifiers made by the core package.