+ serverfault
+ remove everything after id as default
~ uniformly represent substitution rules
in progress: extract SubstitutionRule