Deimos Strong Typing System
$ luarocks install deimos
Deimos is a strongly typed object system: Deimos objects
have a defined schema which allows it to validate data. Schemas
are defined in the syntax of Lua itself. Errors are thrown if
data being tested doesn't conform to the schema, and validated
data can be manipulated as if ordinary Lua tables.