This acts exactly like pymbolic's substitute(), but it takes a string argument which can be fed through dagrt's extended parser. Related: leap#121