consts substa :: ('a => 'b aexp) => 'a aexp => 'b aexp substb :: ('a => 'b aexp) => 'a bexp => 'b bexp