Cool! Seems like there is either a problem with the jsBin link or the code is missing
excellent explanation. one possible improvement to get across the transition from the initial program to the composition program: have the transform function use the initial program’s functions instead of hardcoding the math in it; e.g.
return decrement( double( increment( input ) ) );