> Why do I need to care if something takes a `child: (single object)` argument or a `children: [LIST of objects]`?
The IDE tells you what's needed and the latest version of the plugin automatically adds a list literal and places the cursor inside it:
https://groups.google.com/forum/#!topic/flutter-dev/LXafJQqS...
Personally, I think it makes sense to differentiate between exactly one and zero or more.
> Why do I need to memorize which objects take which styling arguments?
The IDE should do that for you.