More idomatic Elixir - more functional, lazy
Basic functional tests.