menu_book Course Curriculum (Elm Complete Course) expand_more
Opaque module types
Learn Opaque module types in Elm with a construct-specific explanation, a unique example, a practical boundary, and a mastery check.
Opaque module types is an atomic Elm topic inside Custom Types. The example below uses the actual construct named by the lesson rather than a generic placeholder.
Focus on what Opaque module types changes: the input, binding, control path, object state, collection, runtime effect, or language contract. Then alter one value and verify that the behavior changes for a reason specific to this feature.
Topic-specific example
module Account exposing (Account, create)
type Account = Account Int
create n = Account n
Pay attention to the contract exposed by the type, which members belong to instances versus the type itself, and what dispatch occurs at runtime.