lue-bird / elm-review-opaque-type / Review.OpaqueType

Reports choice type parameters that aren't used in the definition (often called "opaque types").

import NoUnused.CustomTypeConstructorArgs
import NoUnused.CustomTypeConstructors
import Review.OpaqueType

config =
    [ Review.OpaqueType.forbid

    -- to catch variables in unused parts of the type
    , NoUnused.CustomTypeConstructors.rule []
    , NoUnused.CustomTypeConstructorArgs.rule
    ]

forbid : Review.Rule.Rule

Rule to report opaque types.

More on the why and the alternatives in the readme