make identifiers an abstract type