Why are form submits so different from the "normal" data/root interface?

This makes it difficult (seemingly impossible) to mix "normal" and form save actions on the same store.

Because if I omit the formHanlder attribute in the API the forms won't work, and if I add it, RemotingProvider fails in form.getAttribute is not a function.