SNAP: Simple, minimal HTML form DSL