docs: def satisfies(self, other):
          """Check if the capabilities of a primitive are enough to satisfy a requirement.
  
          Should be called on a Requirement that is acting as a
          capability of a primitive. This method returning true means
          that the capability advertised here is enough to handle
          representing the data described by the Requirement passed in
          as 'other'.
  
          Here is a chart showing what satisfies what.
  
               other
                A C 0 1
             |Y N N N N
          s A|Y Y Y Y Y
          e C|Y - Y Y Y
          l 0|Y * * Y N
          f 1|Y * * N Y
  
          ' ' = No Care
          A = arbitrary
          C = Constant
          0 = ZERO
          1 = ONE
  
          Y = YES
          N = NO
          - = Could satisfy with multiple instances
          * = Not yet determined behavior. Used for bitbanging controllers.
  
          """
          if other.isnocare:
              return True
          if self.isnocare:
              return False
          if self.arbitrary:
              return True
          if self.constant and not other.arbitrary:
              return True
          if self.value is other.value and not other.arbitrary\
             and not other.constant:
              return True
          return False