""" the infamous version 0 - see the stupidest way to just print an id num! """
class Perception: pass

def perceptions():
    return Perception()

class Thought: pass #now just an identity

class Mind:
    def __init__(self):
        self._thoughts = set()
        self._memory = {}

    def get_thought(self):
        if self._thoughts: #this guy does not have them now :p
            return #.. but is sure not to tell any if has!  :o
        return Thought(), Perception()
    def get_thoughts(self):
        return [self.get_thought()]
    thoughts = property(get_thoughts, None, None) #right on!

    def consider(self, thought_or_perception, new_info):
        if new_info not in self._memory.values():
            self._memory[thought_or_perception] = new_info
            return new_info
        
#class Memory:
#    def __init__(self, mind=None):
#        self.thoughts = {}
#    def __init__(self):
#        self.infos = [] #all the infos about this thing, in arrival order

if __name__ == '__main__':
    #mem = {} #Memory()
    m = Mind()

    diffs = [m.consider(thought, info) for thought, info in m.thoughts]
             #if mem.hasKey(thought)]
             #or

    print diffs

