code: def create_info(cls, configure_func):
          # type: (Callable) -> ConfigureParamsInfo
          
          call_types = getattr(configure_func, "call_types",
                               {})  # type: Dict[str, Anno]
          metas = OrderedDict()
          required = []
          defaults = OrderedDict()
          for k, anno in call_types.items():
              if k not in cls.call_types:
                  scls = VMeta.lookup_annotype_converter(anno)
                  metas[k] = scls.from_annotype(anno, writeable=True)
                  if anno.default is NO_DEFAULT:
                      required.append(k)
                  elif anno.default is not None:
                      defaults[k] = anno.default
          return ConfigureParamsInfo(metas, required, defaults)
docs: Create a `ConfigureParamsInfo` describing the extra parameters
          that should be passed at configure