Due to the ReasonML restrictions there is no direct interop between JS HOCs to Reason. Mainly because we can’t get a bag of props and pass to the other enhanced component like we do in JS. We need to be always 100% explicit about we are doing Reason, and that is a good thing about it.

I do not want to bring up the HOCs x Children as Function x Render Prop flame war — though I admit myself being a HOC fan 😛.

Why Reason?

Me personally, I enjoy Reason and wanted to try it out in the first place because it is about of letting the Machine Do the Hard Work ™️. So I can sleep in peace at night knowing that it’s not up to me to ensure that someone will not break the application with funny things in the codebase because they did not knew X was using Y when they implemented Z and changed Y only for Z usage. If someone screws up something, Reason will certainly let you know about that.