Checked exceptions like CLU, Modula-3 and C++, before Java came into the world.
Or checked result types as in many FP languages, which many seem to miss the similarity.