I would get rid of `subSchemaKeys` and loop directly over `schema` for performance reasons. The current way, you're doing a couple loops and type checks. You can do everything in this one loop instead, doing the checks for SimpleSchema instance here.

```js
_.each(schema, function(val, key) {
});
```