Thanks @thijs ! I actually initially started writing it as DSL (using Xtend, before I learned about Kotlin). But then I felt it may not be appealing to other Android developers who are used to XML layouts. Also XML feels to me more compact and more well suited for layout "templates". About data binding, there are some similarities but I wanted to take it a step further by using virtual views with reactive data flow (throughout the virtual layout tree), and also to eliminate having to write two files (java & xml) for views.