why erlang is oop