abstractions  
  unions