This is not a bug. The layer in the array needs to be defined with a lower-case l as shown in the JSAPI documentation. The app should work if updated as shown below.
var myWidget = new LayerList({
map: map,
layers:[
{
layer: featureL0,
id: "Waterbodies",
visibility: true
},
{
layer: featureL1,
id: "Rivers"
}
]
},"layerList");
myWidget.startup();
In the above, the word "layer" needs to use a lower-case l.