Union Types with Clojure.Spec Sep 25, 2016 4 min read Lambda Island Elm and other statically typed languages have a great feature called Union Types (also called Sum Types or Algebraic Data Types). Here’s an example taken from Elm. Suppose your system used to