Section A.7.1 of the PD spec, states the following rules to coerce A to a String: - If A is a String: return A - otherwise, if A is null: return "". - otherwise, if A.toString throws exception, error - otherwise, return A.toString. Now if I pass, say, ${1} which, from what I understand, will be interpreted as a primitive integer, the action should throw an Exception a it's not possible to call toString() in a primitive.