ast now accepts an optional second argument specifying the phase