Adds contracts and type signatures