docs: def FromType(name, otype):
          """ ValueOption subclasses factory, creates a convenient option to store
          data from a given Type.
  
          attribute precedence :
          
          * ``|attrs| > 0`` (``multi`` and ``uniq`` are implicit) => NotImplementedError
          * ``uniq`` (``multi`` is implicit) => NotImplementedError
          * ``multi`` and ``not uniq`` => NotImplementedError
          * ``not multi`` => ValueOption
          
          :param name: Name of the option
          :type name: str
          :param otype: the desired type of field
          :type otype: subclass of :class:`.GenericType`
          """
          if otype.attrs is not None and len(otype.attrs):
              raise NotImplementedError("for otype, options can't have attributs")
              #return VectorField(ftype)
          elif otype.uniq:
              return SetOption(name, otype)
          elif otype.multi:
              #XXX: dbl check needed?
              #raise NotImplementedError("for now, options can't have multiple values")
              return ListOption(name, otype)
          else:
              return ValueOption(name, otype)