
  -spec family_projection(SetFun, Family1) -> Family2
                             when
                                 SetFun :: set_fun(),
                                 Family1 :: family(),
                                 Family2 :: family().

  If Family1 is a family, then Family2 is the family with the
  same index set as Family1 such that Family2[i] is the result
  of calling SetFun with Family1[i] as argument.

    1> F1 = sofs:from_term([{a,[[1,2],[2,3]]},{b,[[]]}]),
    F2 = sofs:family_projection(fun sofs:union/1, F1),
    sofs:to_external(F2).
    [{a,[1,2,3]},{b,[]}]
