layeredata is a Lua library that allows to represent data in several layers,
and view them as merged.
See this article.
This module is available in luarocks:
luarocks install layeredata
First, import the module:
local Layer = require "layeredata"
Tests are written for busted.