let scheme ?pos rqs names f =
  let l, m = variable_set (const (FlexibleNone)) names in
    Scheme (pos_or_undef pos, rqs, l, f m, m)