Made process() and reverse() always returns tuple (hashable.) and added some more tests