     var genericConstraints: ConstraintList? { get }
 }
 
-public struct StaticSignatureExpression : SignatureExpression, AbsoluteNameAware {
+public class StaticSignatureExpression : SignatureExpression, AbsoluteNameAware {
     public typealias Receiver = TypeIdentifierExpression
     
     public let hashValue: Int = nextHashValue()

        // Instance methods are just sugar for static methods that take an extra "self" parameter.
        // We do the transformation now so that the backend doesn't need to know about instance vs static.
        guard ret.count > 0 else {
            return StaticSignatureExpression(name: name, receiverType: receiver[0].type, parameters: args, returnType: nil, genericConstraints: gen, absolutised: false)
            //return InstanceSignatureExpression(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].type, parameters: args, returnType: ret[0], genericConstraints: gen, absolutised: false)
        //return InstanceSignatureExpression(name: name, receiverType: receiver[0], parameters: args, returnType: ret[0], genericConstraints: gen)
    }
    
    func parseSignature() throws -> StaticSignatureExpression {

    
    public let hashValue: Int = nextHashValue()
    
    init(name: TypeIdentifierExpression, properties: [PairExpression], propertyOrder: [String : Int], constructorSignatures: [StaticSignatureExpression]) {
        self.name = name
        self.properties = properties
        self.propertyOrder = propertyOrder
        self.constructorSignatures = constructorSignatures
    }
    
    public func absolutise(absoluteName: String) {
        self.name.value = absoluteName
        self.absolutised = true
    }
