> > Did calling the type and its alias both 'Test' somehow override the > private one with the public one? >
No actually it is misleading you here. The main difference is that when I write: -- module Test exposing (testFunction) import Public exposing (Test) import Private testFunction : Test testFunction = Private.SomeTest `Test` in `testFunction` type definition refers to `Public.Test`. It is the same as writing: -- module Test exposing (testFunction) import Public import Private testFunction : Public.Test testFunction = Private.SomeTest whereas everywhere in elm-style-animation, mdgriffith is defining its functions with the `Animation.Model.Animation msg` return type instead of using the `State` public type: initialState : List Animation.Model.Property -> Animation msg Technically both types are the same (well not exactly since he defined State as Animation *Never*) and both could compile (not here because of this Never). But for public interface, I think that type definitions should use the public types. -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.