<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div dir="ltr" class="">I also adopted Iavor's very helpful categorization.</div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class="">I have not given any motivations below, as it's too difficult to read everyone's motivations inline. Instead, I give several varieties of "no" votes. Let's debate when someone disagrees with me. (To be clear: "obscure" just means that someone should manually opt in, not that the feature is really obscure.)</div><div dir="ltr" class=""><br class=""><b class="">Module System<br class="">=============</b><br class=""><br class="">ImportQualifiedPost: yes<br class="">PackageImports: obscure<br class="">NoImplicitPrelude: breaking<br class=""><br class=""><b class="">Notation<br class="">========</b><br class=""><br class="">BlockArguments: yes<br class="">MultiWayIf: might change<br class="">LambdaCase: might change<br class="">BinaryLiterals: yes<br class="">HexFloatLiterals: yes<br class="">NumericUnderscores: yes<br class="">NumDecimals: yes<br class="">OverloadedStrings: bad for beginners<br class="">OverloadedLists: bad for beginners<br class="">OverloadedLabels: obscure<br class="">EmptyCase: yes<br class="">PostfixOperators: yes<br class="">LexicalNegation: yes<br class="">UnicodeSyntax: yes<br class="">NegativeLiterals: superseded<br class="">TupleSections: yes<br class="">ImplicitParams: obscure<br class="">ParallelListComp: yes<br class="">RecursiveDo: obscure<br class="">TransformListComp: obscure<br class="">Arrows: obscure<br class="">ApplicativeDo: breaking<br class="">QualifiedDo: too fresh<br class="">MonadComprehensions: bad for beginners<br class="">NondecreasingIndentation: obscure</div><div dir="ltr" class="">RebindableSyntax: breaking<br class="">ExplicitNamespaces: yes<br class=""><div class=""><br class=""></div><div class=""><b class="">Data Types<br class="">==========<br class=""></b><br class="">DatatypeContexts: no<br class="">ExistentialQuantification: yes<br class="">EmptyDataDecls: yes<br class="">RoleAnnotations: yes<br class="">StrictData: breaking<br class="">GADTSyntax: yes<br class="">GADTs: obscure<br class=""></div><div class=""><br class=""></div><div class=""><b class="">Patterns and Guards<br class="">===================</b><br class=""><br class=""></div><div class="">BangPatterns: yes<br class="">ViewPatterns: yes<br class="">PatternSynonyms: too fresh<br class="">NoPatternGuards: breaking<br class="">NPlusKPatterns: deprecated<br class=""><br class=""><b class="">Records<br class="">=======</b><br class=""><br class="">NamedFieldPuns: yes<br class="">RecordWildCards: confusing<br class="">DisambiguateRecordFields: yes<br class="">DuplicateRecordFields: might change<br class="">NoTraditionalRecordSyntax: no<br class=""><br class=""></div><div class=""><b class="">Deriving<br class="">=======</b><br class=""><br class="">DeriveGeneric: yes<br class="">DeriveLift: yes<br class="">DeriveDataTypeable: yes<br class="">EmptyDataDeriving: yes<br class="">StandaloneDeriving: yes<br class="">DeriveFunctor: yes<br class="">DeriveFoldable: yes<br class="">DeriveTraversable: yes<br class="">DerivingStrategies: yes<br class="">DerivingVia: yes<br class="">GeneralisedNewtypeDeriving: yes<br class="">DeriveAnyClass: dangerous<br class=""></div><div class=""><br class=""></div><div class=""><b class="">Class System<br class="">============</b><br class=""><br class="">MultiParamTypeClasses: yes<br class="">NullaryTypeClasses: superseded<br class="">ConstraintKinds: yes<br class="">TypeSynonymInstances: yes<br class="">FlexibleInstances: yes<br class="">FlexibleContexts: yes<br class="">ConstrainedClassMethods: yes<br class="">DefaultSignatures: yes<br class="">InstanceSigs: yes<br class="">ExtendedDefaultRules: might change<br class="">FunctionalDependencies: obscure<br class="">QuantifiedConstraints: too fresh<br class="">UndecidableInstances: dangerous<br class="">IncoherentInstances: dangerous<br class="">UndecidableSuperClasses: dangerous<br class="">OverlappingInstances: superseded<br class=""><b class=""><br class=""></b></div><div class="">Types<br class=""><b class="">=====</b><br class=""><br class="">RankNTypes: yes<br class="">StandaloneKindSignatures: yes<br class="">KindSignatures: yes<br class="">LiberalTypeSynonyms: confusing<br class="">ScopedTypeVariables: might change<br class="">ExplicitForAll: yes<br class="">AllowAmbiguousTypes: dangerous<br class="">ImpredicativeTypes: too fresh<br class="">MonoLocalBinds: breaking<br class="">NoMonomorphismRestriction: debate!<br class="">PartialTypeSignatures: obscure<br class="">NamedWildCards: yes<br class="">LinearTypes: too fresh<br class="">TypeApplications: yes<br class="">PolyKinds: yes<br class="">TypeOperators: yes<br class="">StarIsType: deprecated<br class="">TypeFamilies: obscure<br class="">TypeFamilyDependencies: obscure<br class="">DataKinds: might change<br class=""><br class=""></div><div class=""><b class="">FFI<br class="">===</b><br class=""><br class="">ForeignFunctionInterface: obscure<br class="">CApiFFI: obscure<br class="">GHCForeignImportPrim: obscure<br class="">InterruptibleFFI: obscure<br class="">UnliftedFFITypes: obscure<br class="">StaticPointers: obscure<br class=""><br class=""><b class="">Low Level<br class="">=========</b><br class=""><br class="">UnboxedSums: obscure<br class="">UnboxedTuples: obscure<br class="">MagicHash: obscure<br class="">UnliftedNewtypes: yes<br class=""><br class=""><b class="">Macros<br class="">======</b><br class=""><br class="">CPP: obscure<br class="">TemplateHaskell: TH<br class="">TemplateHaskellQuotes: yes<br class="">QuasiQuotes: TH</div><div class=""><br class=""></div><div class=""><br class=""><b class="">Other<br class="">=====</b><br class=""><br class="">Unsafe: no<br class="">Safe: no<br class="">Trustworthy: no<br class="">Strict: no<br class=""><br class=""><b class="">Obsolete/Deprecated<br class="">===================</b><br class=""><br class=""></div><div class="">CUSKs: no<br class="">TypeInType: no<br class="">MonadFailDesugaring: maybe<br class=""><br class=""><br class=""><br class=""></div></div></body></html>