jesserayadkins/lily: An interpreted language with a focus on expressiveness and type safety