By internal react properties I mean ref and key. The current API design forces users to mix those two into a single object. This is unfortunate in the case that the user wants to have props with the same name.
The ReactElement solves that problem nicely because it takes the key, ref and props as separate arguments. I understand that the current API is designed around a single props object, and the rest is treated as children. But I believe making explicit distinction between user supplied props and those used for internal purposes will lead to less confusion.