Type Checking Structs

In Elixir you can pattern match on the struct’s type so for example:

defmodule StructTest do
    defstruct name: "Foo!"
end

defmodule TestStruct do
    def takesStruct(struct = %StructTest{}) do
        IO.puts(inspect struct)
    end
end

The takesStruct function will only match for instances of the %StructTest{} structure.