Explain constraints for keeping type objects alive