Mostly ported validator to Expression & Term