-- person.tl
local person = {}
global type Building
global type Person
residence: Building
end
return person
-- building.tl
local building = {}
global type Person
global type Building
owner: Person
end
return building
-- main.tl
local person = require("person")
local building = require("building")
local b: Building = {}
local p: Person = { residence = b }
b.owner = p
Should make this possible: