Okay, I'm eating my words. Sorry it's not share-elm, because that doesn't have dev.
import String
import Graphics.Input (..)
str1 : Input FieldContent
str1 = input noContent
str2 = input noContent
field1_base : FieldContent -> Element
field1_base = field str1.handle id "This field is"
field2_base = field str2.handle id "reversed into this one"
reverseContent : FieldContent -> FieldContent
reverseContent fc = FieldContent (String.reverse fc.string) (Selection 0 0 Forward)
field1_sig : Signal FieldContent
field1_sig = merge str1.signal <| lift reverseContent str2.signal
field2_sig = merge str2.signal <| lift reverseContent str1.signal
main = flow down <~ combine [ lift field1_base field1_sig
              , lift field2_base field2_sig
              ]
Navigating among these fields is messed up* but the reversing of two fields into each other, mutually recursively, is totally working. This opens up a lot of new ground in terms of being able to style the resulting elements based on feedback. That's part of a larger, more general update, but as part of that I'd like to see grey-out-able HTML inputs.
* In case the behavior is browser/OS dependent, I cannot use the mouse to select the second text field. I can get to it with tab, but once I enter once character, it goes back to the top field. Typing in the top field is fine. Replacing the merged, reversed signals in main with str[1-2].signal removes the issue.