Hmm, weird, it passes tests fine locally. Also once this is ready we could implement `maphash` on top of this, but do we still want to keep `forEach` for potential JS users?