
queue_use.erl:18:20: The call queue:is_empty
         ({[], []}) does not have an opaque term of type 
          queue:queue(_) as 1st argument
queue_use.erl:22:18: The call queue:in
         (42,
          Q0 :: {[], []}) does not have an opaque term of type 
          queue:queue(_) as 2nd argument
queue_use.erl:27:5: The attempt to match a term of type 
          queue:queue(_) against the pattern 
          {"*", Q2} breaks the opacity of the term
queue_use.erl:33:5: Attempt to test for equality between a term of type 
          {[42, ...], []} and a term of opaque type 
          queue:queue(_)
queue_use.erl:36:5: The attempt to match a term of type 
          queue:queue(_) against the pattern 
          {F, _R} breaks the opacity of the term
queue_use.erl:40:35: The call queue:out
         ({"*", []}) does not have an opaque term of type 
          queue:queue(_) as 1st argument
queue_use.erl:52:2: The pattern 
          'true' can never match the type 
          'false'
queue_use.erl:56:24: The attempt to match a term of type 
          queue:queue(_) against the pattern 
          {L1, L2} breaks the opacity of the term
queue_use.erl:62:17: The call queue_use:tuple_queue
         ({42, 'gazonk'}) does not have a term of type 
          {_, queue:queue(_)} (with opaque subterms) as 1st argument
queue_use.erl:62:17: The call queue_use:tuple_queue
         ({42, 'gazonk'}) will never return since it differs in the 1st argument from the success typing arguments: 
         ({_, queue:queue(_)})
queue_use.erl:65:17: The call queue:in
         (F :: 42,
          Q :: 'gazonk') does not have an opaque term of type 
          queue:queue(_) as 2nd argument
queue_use.erl:65:17: The call queue:in
         (F :: 42,
          Q :: 'gazonk') will never return since the success typing is 
         (any(),
          {maybe_improper_list(), maybe_improper_list()}) -> 
          {nonempty_maybe_improper_list(), maybe_improper_list()} and the contract is 
          (Item, Q1 :: queue(Item)) -> Q2 :: queue(Item)
