         let ret = try parseTypeIdentifierList()
         
         guard ret.count > 0 else {
-            return StaticSignatureExpression(name: name, receiverType: receiver[0], parameters: args, returnType: nil, genericConstraints: gen, absolutised: false)
+            return StaticSignatureExpression(name: name, receiverType: receiver[0], parameters: args, returnType: nil, genericConstraints: gen)
         }
         
         // TODO - Multiple return types should be sugar for returning a tuple of those types (saves typing an extra pair of parens)
         guard ret.count == 1 else { throw OrbitError.multipleReturns(token: try peek()) }
         
-        return StaticSignatureExpression(name: name, receiverType: receiver[0], parameters: args, returnType: ret[0], genericConstraints: gen, absolutised: false)
+        return StaticSignatureExpression(name: name, receiverType: receiver[0], parameters: args, returnType: ret[0], genericConstraints: gen)
     }
     
     func parseInstanceSignature() throws -> StaticSignatureExpression {

            
            let emptyConstructorName = IdentifierExpression(value: "__init__", grouped: false)
            
            let emptyConstructorSignature = StaticSignatureExpression(name: emptyConstructorName, receiverType: name, parameters: [], returnType: name, genericConstraints: nil, absolutised: false)
            
            return TypeDefExpression (name: name, properties: [], propertyOrder: [:], constructorSignatures: [emptyConstructorSignature], absolutised: false)
        }
        
        let pairs = try parsePairs()

    var genericConstraints: ConstraintList? { get }
}

public class StaticSignatureExpression : SignatureExpression, AbsoluteNameAware {
    public typealias Receiver = TypeIdentifierExpression
    
    public let hashValue: Int = nextHashValue()
