Stav dette: Typed Contracts for Functional Programming