I ran into (hopefully) the same problem. It appears that the order of declarations is important. I have a little JS script to unpopulate value="Name" on focus and to repopulate value="" if there is no other value in it. That way it acts a s a label.
If this is kinda what you're talking about, try this code:
[text* your-name class:name "Name"]
[text* your-phone class:phone "Phone"]
[text* your-email class:email "Email Address"]
[submit class:submit "Submit"]
The order is [input-type input-name class(optional) "value"(optional)]
I hope this helps. It's crazy that they didn't think to include basic instructions for how to put in a freaking default value. Anyway, I hope I understood what you were looking for and that this was what you were trying to do.