lue-bird / elm-review-phantom-type / Review.PhantomType

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

import NoUnused.CustomTypeConstructorArgs
import NoUnused.CustomTypeConstructors
import Review.PhantomType

config =
    [ Review.PhantomType.forbid

    -- to catch unused type variables
    , NoUnused.CustomTypeConstructors.rule []
    , NoUnused.CustomTypeConstructorArgs.rule
    ]

forbid : Review.Rule.Rule

Rule to report phantom types.

More on the why and the alternatives in the readme