code: func BuildTypeDecoder(recognizedTypes []interface{}) TypeDecoder {
  	typeMappings := make(map[string]reflect.Type)
  	for _, recognizedType := range recognizedTypes {
  		typeMappings[reflect.TypeOf(recognizedType).Name()] = reflect.TypeOf(recognizedType)
  	}
  
  	return &TypeDecoderImpl{typeMappings: typeMappings}
  }
docs: // BuildTypeDecoder takes a list of interfaces and stores them internally as a
  // list of typeMappings in the format below.
  // "MyMessage": TypeOf(ecstcs.MyMessage)