code: def to_ufos(
      font,
      include_instances=False,
      family_name=None,
      propagate_anchors=True,
      ufo_module=defcon,
      minimize_glyphs_diffs=False,
      generate_GDEF=True,
      store_editor_state=True,
  ):
      
      builder = UFOBuilder(
          font,
          ufo_module=ufo_module,
          family_name=family_name,
          propagate_anchors=propagate_anchors,
          minimize_glyphs_diffs=minimize_glyphs_diffs,
          generate_GDEF=generate_GDEF,
          store_editor_state=store_editor_state,
      )
  
      result = list(builder.masters)
  
      if include_instances:
          return result, builder.instance_data
      return result
docs: Take a GSFont object and convert it into one UFO per master.
  
      Takes in data as Glyphs.app-compatible classes, as documented at
      https://docu.glyphsapp.com/
  
      If include_instances is True, also returns the parsed instance data.
  
      If family_name is provided, the master UFOs will be given this name and
      only instances with this name will be returned.
  
      If generate_GDEF is True, write a `table GDEF {...}` statement in the
      UFO's features.fea, containing GlyphClassDef and LigatureCaretByPos.