   # Returns promise an Array of User instances matching the fuzzy name.
   usersForRawFuzzyName: (fuzzyName) ->
     lowerFuzzyName = fuzzyName.toLowerCase()
-    Q(user) for key, user of (@data.users or {}) when (
-      user.name.toLowerCase().lastIndexOf(lowerFuzzyName, 0) is 0
-    )
+    results = []
+    for key, user of (@data.users or {})
+      if user.name.toLowerCase().lastIndexOf(lowerFuzzyName, 0) is 0
+        results.push user
+
+    Q(results)
 
   # Public: If fuzzyName is an exact match for a user, returns an array with
   # just that user. Otherwise, returns an array of all users for which

  # Returns promise for array
  keys: (searchKey = '') ->
    searchKey = @key searchKey
    Q(_.map(_.filter(_.keys(@data._private), (key) -> key.indexOf searchKey is 0), @unkey.bind(@)))

  # Public: transform a key from internal brain key, to user-facing key
  #

  #
  # Returns promise an Array of User instances matching the fuzzy name.
  usersForFuzzyName: (fuzzyName) ->
    @usersForRawFuzzyName(fuzzyName).then (matchedUsers) ->
      lowerFuzzyName = fuzzyName.toLowerCase()
      for user in matchedUsers
        return Q([user]) if user.name?.toLowerCase() is lowerFuzzyName

      Q(matchedUsers)

  # Public: Return a brain segment bound to the given key-prefix.
  #
