3.20) The type graph_obj (sum of all graphical objets).

type graph_obj =
    g_button of gr_button 
  | g_scrollbar of gr_scrollbar
  | g_string of gr_string
  | g_text of gr_text
  | g_item of gr_item
  | g_menu of gr_menu
  | g_toolbar of gr_toolbar
  | g_bitmap of gr_bitmap
  | g_prompt of gr_prompt
  | g_rectangle of gr_rectangle
  | g_line of gr_line
  | g_ellipse of gr_ellipse
  | g_list of gr_list
  | g_radio of gr_radio
  | g_helpbar of gr_helpbar
  | g_grpbut of gr_grpbut
  | g_grprad of gr_grprad
  | g_shell of gr_shell
  | g_user of gr_user
;;
type window =
  { mutable win_def : gr_window
  ; mutable win_objects : graph_obj list
  }
;;
The type graph_obj is the sum of all the objects defined between section 3.2 to section 3.19.
The type window defines a window, with: