 public struct GenericExpression : ValueExpression {
     public typealias ValueType = TypeIdentifierExpression
     
+    public let hashValue: Int = nextHashValue()
+    
     public let value: ValueType
     public var grouped: Bool = false
     

public struct MapExpression : ValueExpression, RValueExpression {
    public typealias ValueType = [MapEntryExpression]
    
    public let value: ValueType
    public var grouped: Bool
    

public struct StaticCallExpression : CallExpression, GroupableExpression {
    public var grouped: Bool = false
    
    public let hashValue: Int = nextHashValue()
    
    public let receiver: TypeIdentifierExpression
    public let methodName: IdentifierExpression
    public let args: [ArgType]
