This paper presents FunctionalForms, a new combinator library for constructing fully functioning forms in a concise and flexible way. A form is a part of a graphical user interface (GUI) restricted to displaying a value and allowing the user to modify it. The library is built on top of a medium-level GUI toolkit. In order to lift this toolkit's advanced layout combinators into our library, and at the same time obtain full separation between a form's layout and the data structure it edits, we introduce a technique called compositional functional references.