Crystal has OOP features, but you don't have to use them if you don't want to. I do some scientific research in crystal and it is all modules with functions calling other functions and dealing with structs. I love the fact that I can create C-style structs with member methods in Crystal.