
  -spec drestriction(SetFun, Set1, Set2) -> Set3
                        when
                            SetFun :: set_fun(),
                            Set1 :: a_set(),
                            Set2 :: a_set(),
                            Set3 :: a_set().

  Returns a subset of Set1 containing those elements that do not
  give an element in Set2 as the result of applying SetFun.

    1> SetFun = {external, fun({_A,B,C}) -> {B,C} end},
    R1 = sofs:relation([{a,aa,1},{b,bb,2},{c,cc,3}]),
    R2 = sofs:relation([{bb,2},{cc,3},{dd,4}]),
    R3 = sofs:drestriction(SetFun, R1, R2),
    sofs:to_external(R3).
    [{a,aa,1}]

  drestriction(F, S1, S2) is equivalent to 
  difference(S1, restriction(F, S1, S2)).
