Define reusable composable patterns.
Same as defpat/1 but produces private patterns
defpat/1
defpat(term, pattern :: any) :: any
defpat has_email(%{"email" => email}) has_email() = %{"email" => "foo@bar.com"}
defpatp(term, pattern :: any) :: any
Same as defpat/1 but produces private patterns.