class safe function __construct(private secret1, protected secret2) end end local s = new safe(42, 43) -- Attempt to access secrets directly print($"secret1 = {s.secret1}") print($"secret2 = {s.secret2}") print("\nor using more devious means:\n") for k, v in s do if k:startswith("__restricted__") then local name = k:replace("__restricted__", "") print($"{name} = {v}") end end