<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><blockquote type="cite" class=""><span style="font-family: Menlo-Regular; font-size: 11px;" class="">There are several ways to reduce the ceremony</span><br style="font-family: Menlo-Regular; font-size: 11px;" class=""><span style="font-family: Menlo-Regular; font-size: 11px;" class="">- implicit declaration of sealed subtypes if the super type is sealed</span><br style="font-family: Menlo-Regular; font-size: 11px;" class=""><span style="font-family: Menlo-Regular; font-size: 11px;" class="">- implicit declaration of permit clauses</span><br style="font-family: Menlo-Regular; font-size: 11px;" class=""><span style="font-family: Menlo-Regular; font-size: 11px;" class="">and we may want to choose one, the other or both.</span></blockquote></div></div></div></blockquote><div><br class=""></div>For the record, there is also a third possible way: inferring `extends X`. I don’t particularly love it, especially as it is mutually exclusive with inferring the permits clause.  But I include it for completeness.</div></body></html>