let marshal_opt f _ = function | `OBJECT(Some obj) :: _ -> f (Some (cast obj)) | `OBJECT None :: _ -> f None | _ -> invalid_arg "GtkBase.Widget.Signals.marshal_opt"