enforcing constraint expressions from macros can only be used inside the scope in which they were created.
use LuaJIT FFI's bool type to represent Terra booleans so they get translated into Lua correctly. fixes #27