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