export type States = "Closed" | "Closing" | "Opening" | "Open"
export type MyType<A = any> = {
State: States,
IsOpen: boolean,
Open: (self: MyType<A>) -> (),
}
local value = {} :: MyType
function value:Open()
if self.IsOpen == true then
elseif self.State == "Closing" or self.State == "Opening" then
self:Open()
end
end
if i change self.IsOpen == true to self.IsOpen it starts working
or if a split the or into elseif it also starts working


