let plain_or_set f = function
    | Ltype ({lt_name = "set"},[t]) -> f t
    | t -> f t