Type-Safe Programming .cursorrules strategies