When the defaults dict passed to htmlfill.render() is empty, and force_defaults=True, htmlfill clears <textarea> fields (as well as checkboxes, radio buttons, and select fields), but leaves the value of an <input type="text"> alone. This is inconsistent and, IMHO, buggy. The same applies to "hidden" and "password" fields.
I'm attaching a failing test.
patch with failing test for input type="text"
patch with bugfix for input type="text" and "hidden"
patch with failing test for input type="password"
patch with bugfix for input type="password"
patches applied in r3787