Type synonyms which all for class-like generalizations in Elm