", bar_t)

-- Parameterized dimensions work even where a VLA won't work:
local matrix_t = ffi.typeof("uint8_t[$][$]", width, height)
</pre>
<p>
Caveat: this is <em>not</em> simple text substitution! A passed ctype or
cdata object is treated like the underlying type, a passed string is
considered an identifier and a number is considered a number. You must
not mix this up: e.g. passing <tt>"int"</tt> as a string doesn't work in
place of a type, you'd need to use <tt>ffi.typeof("int")</tt> instead.
</p>
<p>
Th