def __subclasshook__(cls, C): if cls is CodedInterface: return check_methods(C, "array", "decode") return NotImplemented
def __subclasshook__(cls, C): if cls is PascInterface: return check_methods(C, "header", "data") return NotImplemented
def __subclasshook__(cls, C): if cls is SequenceInterface: return check_methods(C, "sequence", "shape", "data") return NotImplemented
def __subclasshook__(cls, C): if cls is InformationSpaceInterface: return check_methods(C, "space") return NotImplemented
def __subclasshook__(cls, C): if cls is ArrayInterface: return check_methods(C, "array") return NotImplemented
def __subclasshook__(cls, C): if cls is MapperInterface: return check_methods(C, "map") return NotImplemented
def __subclasshook__(cls, C): if cls is SequencerInterface: return check_methods(C, "flatten") return NotImplemented
def __subclasshook__(cls, C): if cls is Cell: return check_methods(C, "coord", "val", "neighbours") return NotImplemented
def __subclasshook__(cls, C): if cls is Direction: return check_methods(C, "direction") return NotImplemented
def __subclasshook__(cls, C): if cls is BuilderInterface: return check_methods(C, "build_informationspace") return NotImplemented
def __subclasshook__(cls, C): if cls is WriterInterface: return check_methods(C, "write") return NotImplemented
def __subclasshook__(cls, C): if cls is PredictorInterface: return check_methods(C, "predict", "update") return NotImplemented
def __subclasshook__(cls, C): if cls is SubtractorInterface: return check_methods(C, "subtract") return NotImplemented
def __subclasshook__(cls, C): if cls is InformationContextInterface: return check_methods(C, "context", "dims") return NotImplemented