Abstractions To Easily Swap Implementations? Not So Fast.