code: def get_data_type_signature(self):
          
          if self._data_type_signature is None:
              sig = Signature(self.get_dsdl_signature())
              fields = self.request_fields + self.response_fields if self.kind == CompoundType.KIND_SERVICE else self.fields
              for field in fields:
                  field_sig = field.type.get_data_type_signature()
                  if field_sig is not None:
                      sig_value = sig.get_value()
                      sig.add(bytes_from_crc64(field_sig))
                      sig.add(bytes_from_crc64(sig_value))
              self._data_type_signature = sig.get_value()
          return self._data_type_signature
docs: Computes data type signature of this type. The data type signature is
          guaranteed to match only if all nested data structures are compatible.
          Please refer to the specification for details about signatures.