template: support <if <range <with