class_docstr: Interface specification for variable type instances.
  
  A :term:`Type` instance is mainly responsible for two things:
  
  - creating `Variable` instances (conventionally, `__call__` does this), and
  
  - filtering a value assigned to a `Variable` so that the value
    conforms to restrictions imposed by the type (also known as
    casting, this is done by `filter`).
class_docstr_tok: ["Interface","specification","for","variable","type","instances",".","A",":","term",":","`","Type","`","instance","is","mainly","responsible","for","two","things",":","-","creating","`","Variable","`","instances","(","conventionally",",","`","__call__","`","does","this",")",",","and","-","filtering","a","value","assigned","to","a","`","Variable","`","so","that","the","value","conforms","to","restrictions","imposed","by","the","type","(","also","known","as","casting",",","this","is","done","by","`","filter","`",")","."]
docstr: Determine if `self` is a supertype of `otype`.
  
  This method effectively implements the type relation ``>``.
  
  In general, ``t1.is_super(t2) == True`` implies that ``t1`` can be
  replaced with ``t2``.
  
  See `Type.in_same_class`.
  
  Returns
  -------
  ``None`` if the type relation cannot be applied/determined.
docstr_tok: ["Determine","if","`","self","`","is","a","supertype","of","`","otype","`",".","This","method","effectively","implements","the","type","relation","``",">","``",".","In","general",",","``","t1.is_super","(","t2",")","==","True","``","implies","that","``","t1","``","can","be","replaced","with","``","t2","``",".","See","`","Type.in_same_class","`",".","Returns","--","--","--","-","``","None","``","if","the","type","relation","can","not","be","applied\/determined","."]
code: def is_super(self, otype: "Type") -> Optional[bool]:
      """Determine if `self` is a supertype of `otype`.
  
      This method effectively implements the type relation ``>``.
  
      In general, ``t1.is_super(t2) == True`` implies that ``t1`` can be
      replaced with ``t2``.
  
      See `Type.in_same_class`.
  
      Returns
      -------
      ``None`` if the type relation cannot be applied/determined.
  
      """
      if self.in_same_class(otype):
          return True
  
      return None
  
imports: from abc import abstractmethod
  from typing import Any, Generic, Optional, TypeVar, Union
  from typing_extensions import TypeAlias
  from pytensor.graph import utils
  from pytensor.graph.basic import Constant, Variable
  from pytensor.graph.utils import MetaObject
label_desc: Use image node_id 2 for calling the Type obj's underlying member method code with example usage: obj.is_super(otype) and returns: None, True