code: def _strip_nones(d: Dict[str, Any])-> Dict[str, Any]:
          
          return OrderedDict({k: None if isinstance(v, JSGNull) else v for k, v in d.items()
                              if not k.startswith("_") and v is not None and v is not Empty and
                              (issubclass(type(v), JSGObject) or
                               (not issubclass(type(v), JSGString) or v.val is not None) and
                               (not issubclass(type(v), AnyType) or v.val is not Empty))})
docs: An attribute with type None is equivalent to an absent attribute.
          :param d: Object with attributes
          :return: Object dictionary w/ Nones and underscores removed