ExprLet was previously inheriting from ExprAttrs for the data, while ignoring all set-specific operations on it. The set specific code has now been split off so that let doesn't inherit it anymore: - ExprAttrs (not an Expr), containing the attributes and the related logic - ExprLet : Expr, ExprAttrs - ExprSet : Expr, ExprAttrs Co-authored-by: eldritch horrors <pennae@lix.systems> Change-Id: I63f2fbcd1e790b3cffb56eec1e7565ee3cdbf964