docs: def from_value(cls, ion_type, value, annotations=()):
          """Constructs a value as a copy with an associated Ion type and annotations.
  
          Args:
              ion_type (IonType): The associated Ion type.
              value (Any): The value to construct from, generally of type ``cls``.
              annotations (Sequence[unicode]):  The sequence Unicode strings decorating this value.
          """
          if value is None:
              value = IonPyNull()
          else:
              args, kwargs = cls._to_constructor_args(value)
              value = cls(*args, **kwargs)
          value.ion_event = None
          value.ion_type = ion_type
          value.ion_annotations = annotations
          return value