Introduced "type" for constructors, and the concept of "failure"