A record is a set of key-value pairs, similar to objects in Javascript. Record fields can be accessed through dot-notation, or special access functions. Records are fully type-checked and can be described by type aliases.
toString is String.fromInt in the latest elm version
in newest version of elm you can't use the dog variable 2 times - you need to rename one of them