groundwork for domain-agnostic expr and basic_expr
domains are now frequently unnecessary