Fallbacks and backward compatibility are killing me :) So many code paths that just don't fail predictably.