@staticmethod
def canProduce(output):
    if (isinstance(output, list) and output and isinstance(output[0], str)):
        return (strlistkey(output) in implemented)
    elif isinstance(output, str):
        return (output in implemented)
    else:
        raise TypeError('Output should be token or list of tokens')
@staticmethod
def canProduce(output):
    if (isinstance(output, list) and output and isinstance(output[0], str)):
        return (strlistkey(output) in implemented)
    elif isinstance(output, str):
        return (output in implemented)
    else:
        raise TypeError('Output should be token or list of tokens')