"checked step" (check for a positive step arg) and "negated step" (negate the step arg when the nested step is negative).
This needs further cleanup to encapsulate more logic into ProgressionType.
unsigned progressions.