But you have to use a language with type inference. That's still a cost. Maybe not a big one, but that was my point (and I'm definitely nitpicking a bit, I realize that.)
True, but free usually means freedom from both cost and restraint, so the point doesn't change much. I should have said "constraint" rather than "cost".
Though the original commenter did follow-up, clarifying that the common interpretation of "free" doesn't closely match the point he'd intended to make
But it is also untrue that you have to "add declarations and type casts". With type inference, you don't actually have to.