         // 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)
+            return StaticSignatureExpression(name: name, receiverType: receiver[0].type, 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)
+        return StaticSignatureExpression(name: name, receiverType: receiver[0].type, parameters: args, returnType: ret[0], genericConstraints: gen)
     }
     
     func parseSignature() throws -> StaticSignatureExpression {

    public let hashValue: Int = nextHashValue()
}

public struct APIExpression : TopLevelExpression, AbsoluteNameAware {
    private(set) public var name: TypeIdentifierExpression
    public let body: [Expression]
    public let importPaths: [StringLiteralExpression]
    public let within: TypeIdentifierExpression?
    public var absolutised: Bool = false
    
    public let hashValue: Int = nextHashValue()
    
    public mutating func absolutise(absoluteName: String) {
        self.name.value = absoluteName
        self.absolutised = true
    }

        
        try parseShelf()
        
        return APIExpression(name: name, body: exportables, importPaths: withs, within: within)
    }
    
    func parseKeyword(token: Token) throws -> Expression {
