Yes, that's what I want to do. The problem is that the consistency you want doesn't exist in practical application or literature usage, so we're not going to get it in astropy either.

I'm less certain what people do in the IR, but this is the situation in the UV. Both CCM and FM are based on IUE data, which had no wavelength coverage below 1150A. CCM89 had no data below 1250A. However, FUSE (and now HST) had coverage down to the Galactic Lyman limit (912A, x=11). So the literature standard is to use extrapolations of either CCM or FM in this short wavelength region. It might not be scientifically advisable, but this function should support it because 1) it is the literature standard, and 2) it was literally the only thing people could do.

Until GCC09, which uses FUSE data, but to my knowledge has _never_ been implemented in a publicly available program in any language. In fact, the equations in GCC09 are not all correct. I'm currently discussing this with Karl Gordon to get the right parameter values so that we can support its use.

The x>11 check is really just a sanity check, as this never occurs in any observation you'd need to deredden. (You essentially need E(B-V) < 0.0001 to ever observe anything below the Lyman limit - i.e., no reddening.)