Which feels super strange, but doesn't seem to really be a problem, e.g. imagine a language where you'd write
fun sum_all_numbers(Iterable<T> it) { it.fold(...) } # an interface sum_all_numbers(a_list) # a list implements iterable
fun sum_all_numbers(Iterator<T> it) { it.fold(...) } # a concrete type sum_all_numbers(a_list.iterator) # get the caller to build the right object
reply
Which feels super strange, but doesn't seem to really be a problem, e.g. imagine a language where you'd write
Gleam wants you to write edit: found an article that explained this a bit better https://mckayla.blog/posts/all-you-need-is-data-and-function...