List<Widget> separated(Widget separator) { List<Widget> list = map((element) => <Widget>[element, separator]).merge<Widget>().toList(); if (list.isNotEmpty) list = list..removeLast(); return list; }