anchor.diff:  return(Val) -> 
       domain(return,
   	   fun(Self,_) -> {Self,Val} end,
  -	   fun(Self,Val) -> {Self,Val} end).
  -%    #?DOM{kind=#return{value=Val},
  -%	 pick  = fun(#?DOM{kind=#return{value=V}}=Dom,_) -> {Dom,V} end,
  -%	 shrink  = fun(Dom,V) -> {Dom,V} end
  -%	}.
  +	   fun(Self,_) -> {Self,Val} end).
   
   %% @doc Support function for the ?SIZED macro.
   %% @spec sized( fun((integer()) -> domain(T)) ) -> domain(T)
  
positive.code: 
  
  %% @doc Support function for the `?LET(Vars,Dom1,Dom2)' macro.
  %% @spec bind(domain(T), fun( (T) -> domain(D) )) -> domain(D)
  -spec bind(domain(T::any()), 
  	   fun( (T::any()) -> domain(D) )) -> domain(D).
  
negative.code:     {Dom,M}.
  
  %% @doc Generates a member of the list `L'.  Shrinks towards the first element of the list.
  %% @spec elements([any()]) -> domain(any())
  %% @end
  -spec elements([T,...]) -> domain(T).	      
  elements(L) when is_list(L), length(L)>0 ->
      #?DOM{kind=#elements{elems=L,size=length(L)}, 
  