         let ret = try parseTypeIdentifierList()
         
         guard ret.count > 0 else {
-            return StaticSignatureExpression(name: name, receiverType: receiver[0], parameters: args, returnType: nil, genericConstraints: gen)
+            return StaticSignatureExpression(name: name, receiverType: receiver[0], parameters: args, returnType: nil, genericConstraints: gen, absolutised: false)
         }
         
         // 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)
+        return StaticSignatureExpression(name: name, receiverType: receiver[0], parameters: args, returnType: ret[0], genericConstraints: gen, absolutised: false)
     }
     
     func parseInstanceSignature() throws -> StaticSignatureExpression {

        // 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)
            //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)
        //return InstanceSignatureExpression(name: name, receiverType: receiver[0], parameters: args, returnType: ret[0], genericConstraints: gen)
    }
    

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