Allow ADT structs to define function patterns.
Allow records to define binary/keyword messages.