It feels like scala doesn't really have types when all types implicitly coerce to everything else. I thought we only allowed this behaviour in silly languages like JavaScript and R?