       return if a.length != b.length
       callback key, node.v if calcHammingDistance(a, b) <= distance
       return
-    return @
+    return this
 
   searchWithinLevenshteinDistance: (query, distance, callback) ->
     a = toCodePoints query

      throw new Error('unknown errors')
    return

  size: () -> @size_

  keys: () ->
    items = []
    @traverse_ @root_, (key) -> items.push key
    return items

    @walk_ @root_, toCodePoints(key), (node) ->
      prefix += fromCodePoint node.c
      callback prefix, node.v if node.v?
    return this

  keysWithinHammingDistance: (query, distance) ->
    items = []
