(fn keys [t] "takes a table returns a sequential list of its keys" (local out []) (each [k v (pairs t)] (table.insert out k)) out) {: keys}