Playing around with an immutable oop language