perty, so they behave like
        //    the custom elements.
        // 3. <select> can have multiple options selected, in which case its
        //    `value` is incorrect, and we must use the values of each of its
        //    `selectedOptions`
        // 4. <input> can have a whole bunch of behaviours, so it's handled separately.
        // 5. Buttons are hard. The button that was clicked to submit the form
        //    is the one who's name/value gets sent to the server.
        var tag = element.tag