The inevitability of the borrow checker

When defining a type in Inko , it's allocated on the heap by default. For example (using the syntax for the upcoming 0.18.0 release): type User { let @id : Int let @username : String let @email : String } User(id: 42 , username: 'Alice' , email: 'alice@example.com' ) Here User is a heap allocated type, and the expression User(...) allocates an instance of this type using the system allocator (i.e.…