Fix contract kind info across modules

(squash this commit after review)