Code Contracts with .Net 4.0

I don’t know how many times I have seen a method which I have been trying to debug with a whole stack of parameter checking code at the start of the method to ensure nothing weird happens with unexpected input.  This subsequently caused the nicely abstracted methods to be less abstract than originally intended.  Thankfully…