     
     public let hashValue: Int = nextHashValue()
     
-    init(name: IdentifierExpression, type: TypeIdentifierExpression, startToken: Token) {
+    public init(name: IdentifierExpression, type: TypeIdentifierExpression, startToken: Token) {
         self.name = name
         self.type = type
         self.startToken = startToken

    
    public let startToken: Token
    
    init(value: String, startToken: Token) {
        self.value = value
        self.startToken = startToken
    }

public class ListTypeIdentifierExpression : TypeIdentifierExpression {
    private(set) public var elementType: TypeIdentifierExpression
    
    public init(grouped: Bool = false, elementType: TypeIdentifierExpression, startToken: Token) {
        self.elementType = elementType
        super.init(value: elementType.value, grouped: grouped, startToken: startToken)
    }
