best example I can think of a non-OO type system is Haskell, so going to begin from there