pay me a lot of money to build a large scale message handling system that really had to be up all the time, could never afford to go down for years at a time, I would unhesitatingly choose Erlang to build it in. - Tim Bray
t :: %User{id: integer, name: String.t} def valid?(user) String.length(user.name) > 0 end end me = %User{user_id: 1, name: "Andrew Bredouw"} me = %{ me | name: "Andrew Bredow" }