static JPanel vgridWithSpacing(O... _parts) {
  ret swing(() -> {
    L parts = flattenToList(_parts);
    int spacing = 6;
    if (first(parts) instanceof Int) {
      spacing = (Int) first(parts);
      parts = dropFirst(parts);
    }
    JPanel panel = vgrid(parts);
    GridLayout gl = cast panel.getLayout();
    gl.setHgap(spacing);
    gl.setVgap(spacing);
    ret panel;
  });
}