code: def encode(self, obj):
          
          def hint_tuples(item):
              """ embeds __tuple__ hinter in json strings """
              if isinstance(item, tuple):
                  return {'__tuple__': True, 'items': item}
              if isinstance(item, list):
                  return [hint_tuples(e) for e in item]
              if isinstance(item, dict):
                  return {
                      key: hint_tuples(val) for key, val in item.iteritems()
                      }
              else:
                  return item
  
          return super(Encoder, self).encode(hint_tuples(obj))
docs: function to encode json string