with builtins; let getColour = x: elemAt x __curPos.line; getKey = x: elemAt x __curPos.line; them = { first = { item = "banana"; colour = "green"; }; second = { item = "frog"; colour = "yellow"; }; }; __findFile = _: k: with { v = split "/" k; }; them."${head v}"."${getKey v}"; in let { it = [ ]; body = "could ${head it} be ${getColour it}?"; }