If you haven't already, you may want to look into "row polymorphism". I've been working on and off on a statically-typed stack-based language with type inference called Parles; it's not 100% yet, but you can check out my type inference algorithm in the git repo:
https://github.com/gliese1337/ParlesI've got a few blog posts about it here: http://gliese1337.blogspot.com/2014/03/parles-language-with-...