
rec_use.erl:17:2: The attempt to match a term of type 
          rec_adt:rec() against the pattern 
          {'rec', _, 42} breaks the opacity of the term
rec_use.erl:18:9: Guard test tuple_size
         (R :: rec_adt:rec()) breaks the opacity of its argument
rec_use.erl:23:19: The call rec_adt:get_a
         (R :: tuple()) does not have an opaque term of type 
          rec_adt:rec() as 1st argument
rec_use.erl:27:5: Attempt to test for equality between a term of type 
          {'rec', 'gazonk', 42} and a term of opaque type 
          rec_adt:rec()
