Meta Table
A meta table is just a normal table can contains any keys.
Meta table is used to abstract a common behavior among multiple tables. It can ONLY be set at the creation of a table. After that you can not set a new meta table or get current meta table out.
Modify meta table from a table is also limited due to assign to table keys will not be resolved to meta table.
This example will NOT work.
table = {}
meta = {
my_method =
fn x = x + 1
}
table <- meta