Add Contract::schema which returns a representable schema for the form tree.